Android单例库项目

时间:2012-10-21 18:07:06

标签: android android-library

我有一个图书馆项目。该库项目由多个Android应用程序共享。我是单独的库项目(将向所有应用程序提供相同的实例)。这也意味着一旦库项目被实例化,它应该在内存中。我怎样才能做到这一点?

除了评论链接,代码片段,教程和博客也受到高度赞赏。另请告诉我这些用例的良好做法。

注意:当然,通过“实例化库项目”,我的意思是一个/一些类。

提前致谢。

2 个答案:

答案 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),因此是一个应用程序   代码与其他应用程序隔离运行。

但我当然可能错了,

罗尔夫