我有一个使用Cordova 7.x / AngularJS 1.x构建的应用程序,它具有一些使用相机拍照的功能 - 这一切似乎都适用于我的新Android设备(不到12个月)但是在较旧的诸如Galaxy Note 4& Galaxy S5在使用几分钟后似乎很难挣扎并关闭应用程序。
我查看了android abd logcat,可以看到以下内容: -
17:42:28.731 16736-16915/com.abc.abc.123 A/chromium: [FATAL:memory.cc(19)] Out of memory. size=63492096
17:42:28.731 16736-16915/com.abc.abc.123 A/libc: Fatal signal 6 (SIGABRT), code -6 in tid 16915 (CompositorTileW)
17:42:29.951 16736-16736/com.abc.abc.123 I/Choreographer: Skipped 70 frames! The application may be doing too much work on its main thread.*
显然内存不足是一个明显的问题,但是当我使用ng-file-upload Angular插件从相机上传照片时,它会使用当前的相机设置。例如,许多用户不会更改他们的相机设置,默认情况下通常是最高的(例如16M 5312x2988) - 如果我在相机应用程序中丢弃这些设置,崩溃似乎停止(或至少不那么频繁?)
我已经尝试使用Android Studio Monitor来衡量手机崩溃前后的状态,我没有看到任何明显的Android监视器内存使用问题。
调试以这种方式“半定期”崩溃的应用程序的后续步骤是什么?
- adb logcat中的错误并不总是完全相同 -
A/libc: Fatal signal 4 (SIGILL), code 1, fault addr 0x9cef1e96 in tid 21795 (Chrome_InProcRe)
似乎有很多高GPU& CPU峰值