簡體   English   中英

如何重新啟動活動以重新加載 static 庫?

[英]how to re-launch an Activity to re-load a static library?

我需要重新啟動一個活動來重新加載 static 庫。 如果我想調用同一個 static 庫的一些函數,我的系統就會失敗。 它只適用於第一次調用,在它找不到正確的符號並因下一個錯誤而失敗后:

signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 00000100

如果我終止進程並再次啟動活動,static 庫將再次加載,從這一刻起,我可以調用第二個 function 但如果我想調用庫的另一個第三個 function 我必須重復相同的過程來終止處理並啟動活動。

要終止活動進程,我使用下一個命令:

android.os.Process.killProcess(android.os.Process.myPid());

我的 kill 和 launch 方法有效,但沒有用,我認為它必須存在更好的解決方案。 也許我應該在活動中每次都刪除並加載 static 庫,但我不知道它是否可行,我有點迷茫。

每個活動都有自己獨特的process id ,因此我建議您進行一項與您的圖書館打交道的臨時活動。

現在你的主要活動將調用startActivityForResult(temporaryact)並在 onDestroy() 臨時調用android.os.Process.killProcess(android.os.Process.myPid());

然后在主要活動onAcitivityResult()中再次調用臨時活動,依此類推。

這對我有用,願你也遠離它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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