Android NDK-保存“;“本机对象”;在本机代码调用之间

Android NDK-保存“;“本机对象”;在本机代码调用之间,android,android-ndk,java-native-interface,Android,Android Ndk,Java Native Interface,现在我有一个本机函数,它可以执行以下操作: Object o = new Object(); while (!o.done()) { o.compute(); } return o.result(); 这种计算可能需要一段时间,我希望Android中的UI能够用某种进度条进行更新。所以我需要三个不同的本机函数,上面每一步一个。我遇到的问题是如何在调用之间保存“本机对象”。有什么建议吗 谢谢您的Android NDK C代码静态与正常应用程序编程中的静态一样。只要当前进程(应用程序)正在运行,您

现在我有一个本机函数,它可以执行以下操作:

Object o = new Object();
while (!o.done()) { o.compute(); }
return o.result();
这种计算可能需要一段时间,我希望Android中的UI能够用某种进度条进行更新。所以我需要三个不同的本机函数,上面每一步一个。我遇到的问题是如何在调用之间保存“本机对象”。有什么建议吗


谢谢

您的Android NDK C代码静态与正常应用程序编程中的静态一样。只要当前进程(应用程序)正在运行,您的数据就会被保留。如果您有一个方法将执行大量处理,请从Java线程调用它,以便在后台工作,如下所示:

  new Thread(new Runnable()
  {
      public void run()
      {
      <call native method here>
      }
  }).start();
new线程(new Runnable())
{
公开募捐
{
}
}).start();

尝试使用
静态对象*o在您的。cpp文件。有一种方法可以实例化
o
。如果仍然必须调用
o->compute()
的一个方法。记得
删除o