[英]How do I know when an Android app is launched and destroyed?
我需要在啟動應用程序並完全退出(銷毀)時運行一些代碼。 我正在使用onCreate和onDestroy,但是不幸的是,屏幕方向更改會破壞並重新創建活動。
看看Android應用程序http://developer.android.com/reference/android/app/Application.html
您可以知道何時創建應用程序(Application.onCreated)
但是您不知道應用程序何時被破壞。 Application.onTerminate()僅用於仿真流程環境。
每次應用啟動時,都會調用啟動程序活動的onCreate
方法。 因此,您必須將所需的代碼放入Launcher活動的onCreate
方法中。
並且要檢測您的應用程序是否被破壞,您可以從“ 覆蓋未實現的方法”菜單中override
onDestroy
方法(就像添加onCreate
)。 並將代碼放入要銷毀應用時要執行的此方法中。
如果您的代碼可以在后台發生,則可以嘗試這樣做(如果您需要在UI線程上進行某些操作,則無法使用):
讓您的活動持有對您擴展的線程的引用,我們將其稱為MyThread運算符。
在onCreate中,執行以下操作:
if(operator==null){
operator = new MyThread();
operator.start();
}
然后,在MyThread中,將代碼放入兩個方法run()
和interrupt()
。
當通過方向更改重新創建您的活動時,它將使操作員能夠參考您的后台線程。 當您實際關閉應用程序時,android將在幾秒鍾后終止您的運算符,並因此執行您的代碼。
如果我錯了,請有人糾正我,我最近沒睡太久,線程始終是一個復雜的話題...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.