我有一个图书馆项目。该库项目由多个Android应用程序共享。我是单独的库项目(将向所有应用程序提供相同的实例)。这也意味着一旦库项目被实例化,它应该在内存中。我怎样才能做到这一点?
除了评论链接,代码片段,教程和博客也受到高度赞赏。另请告诉我这些用例的良好做法。
注意:当然,通过“实例化库项目”,我的意思是一个/一些类。
提前致谢。
答案 0 :(得分:0)
这很容易。
看起来应该是这样的
public static class MyLib
{
static
{
System.loadLibrary("libMyLib");
}
public native void methodA();
public native int setterA(int set);
//etc
}
并将其用作静态库。如果你想要一个单例,只需将单例模式添加到它并将loadLibrary调用移动到私有ctor。
想想你是否真的要实例化这个类,或者只是静态地调用它的方法。如果你不需要一个实例,这就像静态块将为你“实例化”它一样好。
答案 1 :(得分:0)
我认为不可能,因为每个Android应用程序都在它自己的VM中运行,
http://developer.android.com/guide/components/fundamentals.html
每个进程都有自己的虚拟机(VM),因此是一个应用程序 代码与其他应用程序隔离运行。
但我当然可能错了,
罗尔夫