2012-04-10 25 views
0

我需要重新啓動一個活動來重新加載靜態庫。如果我想調用相同靜態庫的某些功能,我的系統會失敗。它只有在第一次調用工作,之後,在沒有找到正確的符號和失敗,下一個錯誤:如何重新啓動一個Activity來重新加載一個靜態庫?

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

如果我殺的過程,然後再次啓動活動,靜態庫被再次加載,因爲這一刻,我可以調用第二個函數,但是如果我想調用庫的另一個第三個函數,我必須重複相同的過程來殺死進程並啓動活動。

要殺死活動過程中,我使用的下一個命令:

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

我的方法殺死並推出作品,但它是沒有用的,我認爲它有存在的一個更好的解決方案。也許我應該每次在活動中刪除並加載靜態庫,但我不知道它是否可行,我有點失落。

回答

1

每項活動都有自己獨特的process id,所以我會建議你採取一項臨時活動來處理你的圖書館。

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

然後在主要活動onAcitivityResult()呼叫臨時活動再等等。

這對我有用,你可能也會用它。

+0

現在我可以鏈接我的圖書館中的一些電話。我正在使用onActivityResult(int requestCode,int resultCode,Intent數據)來管理我的函數,但我剛剛推進了一步,謝謝。 – 2012-04-10 15:54:31

相關問題