簡體   English   中英

我如何知道何時啟動和銷毀Android應用程序?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM