2012-04-10 77 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

相关问题