android防被殺,android防
android防被殺
現在的清理軟體如360都有一鍵清理的功能,他會後台啟動並執行程式一個個kill掉。程式死掉後也不會走正常的生命週期,比如調用ondestory方法。怎麼才能讓程式一直運行在後台,不被360殺掉呢?
在測試了幾種方法後,終於找到一種方法。android有個同步工具Sync Adapter,你註冊了之後可以周期運行。這樣,即使你的進程被他殺掉後,也會在一定時間內自動重啟。 android develop網站有他的介紹 Run the Sync Adapter Periodically
大家可以下載官方的樣本看下他是怎麼聲明註冊的 其中addPeriodicSync方法就是添加周期啟動並執行方法
1 android.content.ContentResolver.addPeriodicSync(Account account, String authority, Bundle extras, long pollFrequency)
pollFrequency就是周期的時間,是以秒為單位的。
不過在實際的測試過程當中,發現他周期不一定就是你寫的時間,有時快有時慢,這是因為
Although these sync are scheduled at the specified frequency, it may take longer for it to actually be started if other syncs are ahead of it in the sync operation queue. This means that the actual start time may drift.
你的同步器會受到別人的同步器的影響。
Android怎避免Service被殺掉,如果被殺掉應怎處理
Service的onStartCommand傳回值設定為START_STICKY試試。
-----------------------------------------------------------------------------------------------------
安卓精英團為你解答
安卓精英團歡迎各位精英加入!
【10分】自己寫的一個android widget有時會被系統殺掉進程,怎辦?
你怎麼判斷是被系統殺掉的?
點擊widget沒反應的原因有很多,還是得看log才知道原因。