我的 android 设备的位图工厂出现 OOM 错误。
Out of memory on a 12582928-byte allocation.
这对我来说很奇怪。它非常大。文件本身是平板电脑上的图像罐并下载。所以图像可能在上限达到 1.2meg jpg 左右。
在它说错误之后,它会吐出 AndroidRuntime 错误日志以显示致命异常:
10-01 11:53:52.512: E/AndroidRuntime(31023): FATAL EXCEPTION: Thread-7893
10-01 11:53:52.512: E/AndroidRuntime(31023): java.lang.OutOfMemoryError
10-01 11:53:52.512: E/AndroidRuntime(31023): at android.graphics.BitmapFactory.nativeDecodeStream(Native Method)
10-01 11:53:52.512: E/AndroidRuntime(31023): at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:582)
10-01 11:53:52.512: E/AndroidRuntime(31023): at android.graphics.BitmapFactory.decodeFile(BitmapFactory.java:380)
10-01 11:53:52.512: E/AndroidRuntime(31023): at com.bentley.cordova.plugins.ImageOps.createThumbnailForPath(ImageOps.java:43)
10-01 11:53:52.512: E/AndroidRuntime(31023): at com.bentley.cordova.plugins.ImageOps.execute(ImageOps.java:20)
10-01 11:53:52.512: E/AndroidRuntime(31023): at org.apache.cordova.api.PluginManager$1.run(PluginManager.java:192)
10-01 11:53:52.512: E/AndroidRuntime(31023): at java.lang.Thread.run(Thread.java:856)
我确实有很多同时使用此功能的图像处理。我认为 BitMapFactory 根本没有因为运行的不同线程而过度工作。