我需要重新启动一个活动来重新加载静态库。如果我想调用同一个静态库的某些函数,我的系统会失败。它只能在第一次调用后才能找到正确的符号,并在下一个错误时失败:
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 00000100
如果我终止进程并再次启动活动,则会再次加载静态库,从此刻起,我可以调用第二个函数,但如果我想调用库的另一个第三个函数,我必须重复相同的过程杀死进程并启动活动。
要终止活动过程,我使用下一个命令:
android.os.Process.killProcess(android.os.Process.myPid());
我杀死和发布作品的方法但它没用,我认为它必须存在更好的解决方案。也许我应该每次在活动中删除并加载静态库,但我不知道它是否可行,我有点迷失。
答案 0 :(得分:1)
每个活动都有自己独特的process id
,因此我建议您参加一个涉及您图书馆的临时活动。
现在,您的主要活动将调用startActivityForResult(temporaryact)
和临时调用android.os.Process.killProcess(android.os.Process.myPid());
的onDestroy()
然后在主要活动onAcitivityResult()
再次调用临时活动,依此类推。
这对我有用,也许你也不用它了。