处理:FATAL EXCEPTION:动画线程java.lang.OutOfMemoryError(Android模式)

时间:2013-11-13 04:49:35

标签: android processing frames

我正在使用处理在我的设备上运行Android应用程序。但是我得到了这个错误:

      FATAL EXCEPTION: Animation Thread
      java.lang.OutOfMemoryError

      at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)
      at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:592)
      at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:691)
      at processing.core.PApplet.loadImage(Unknown Source)
          at processing.test.djtubedesktop.DJTubeDesktop.loadImages(DJTubeDesktop.java:972)
      at processing.test.djtubedesktop.DJTubeDesktop.setup(DJTubeDesktop.java:62)
      at processing.core.PApplet.handleDraw(Unknown Source)
      at processing.core.PGraphicsAndroid2D.requestDraw(Unknown Source)
      at processing.core.PApplet.run(Unknown Source)
      at java.lang.Thread.run(Thread.java:856)

我试过这个: 1)转到文件 - >首选项,然后选择“然后将最大可用内存增加到”10240 MB 2)减少帧数。    我有这2个代码行:

       images = loadImages("Animation_data/movie", ".jpg", 134);
       recordPlayer = loadImages("black-record_", ".png", 36);

我已经为50和10替换了134和36,并且通过这样做我没有得到错误,但它仍然不起作用

程序在java上完美运行

我需要在我的Android设备上运行它

2 个答案:

答案 0 :(得分:1)

您正在操作的图片对于Android来说太大了。您的位图内存不足尝试缩小图像。您可能需要查看this链接。

答案 1 :(得分:0)

OutOfmemory例外: -

这是因为图像大小很重。使用此代码。

Bitmap bitmapimagesize = Bitmap.createScaledBitmap(your bitmap,
                        yourbitmap.getWidth() / 5, yourbitmap.getHeight() / 5,
                        false);

或者这个:

BitmapFactory.Options options = new BitmapFactory.Options();
            options.inSampleSize = 5;
            bitmap = BitmapFactory.decodeFile(image_path, options);