2012-06-21 66 views
0

不幸的是,我不得不在Android項目中使用內部狀態的C庫。圖書館包括國家維護職能init()release()。我寫了一個包裝類與靜態init()release()成員。然後,我在主要活動的OnCreate()OnDestroy()中分別添加了對這些方法的調用。正確的方式在Android中初始化本機庫狀態

這就是我遇到問題的地方。當系統內存不足且其他活動處於前臺時,主要活動將被終止並調用release()。因此,對本地庫的所有後續調用都會失敗。

問題是,如何確保主要活動永遠不會被殺死?或者也許有更好的方法來調用本地函數,而不是在活動的回調函數中執行它?

回答

0

也許你應該看看Application類。您可以覆蓋它並在Manifest中聲明您的自定義Application類。請在Application課程的onCreate()上進行初始化。

我不知道你的庫實際上可以做,也許你可以詳細說明,並根據您的需求,你也可以考慮運行Service這將是不太可能通過Android比你Activity被殺死。

+0

謝謝,子類'Application'對我來說似乎是個好主意。至於圖書館,沒有什麼特別的,只是一些數字化的例程。在'init()'它分配和預先計算它的內部表和類似的東西。 – turboNOMAD

相關問題