2012-06-21 40 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

相关问题