安卓应用程序的内存分配问题
我有一个执行图像分析的Android应用程序,该应用程序通过一个 - 该过程每次需要几秒钟,并且准确快速地工作。IntentService
但是,当该过程在应用程序中重复约50次(如图所示)时,它开始变得非常慢,直到应用程序和设备变得不可用。当设备重新启动并再次打开应用程序时,它会像往常一样运行。
使用Android Studio进行检查时,我可以看到每次运行分析时,应用程序的内存分配每次都会增加大约1MB。因此,当它崩溃时,它显然内存不足。
我已经在完成分析并转到结果以尝试修复后台活动时使用此标志;
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
这产生了很小的影响,我理解IntentService管理自己关闭。所以不确定我还能做些什么来尝试减少内存分配,或者至少清除向下分配并停止添加内存?
更多详情:
- 该应用程序正在使用基于Google Camera2的相机实现
- 分析是通过意向服务使用C++库完成的