2013-10-05 49 views
-1

我正在申请和申请的开始我想显示一张图片,但我得到这个out of memory exception。我在尚未执行的代码中使用了大量的共享首选项。所以这上升2个问题 -内存不足android异常在android中?

是内存共享首选项本身分配的首选项?

并且是应用程序堆内存中分配的共享首选项的内存?

我应该清除共享首选项并使用数据库来代替。那会解决问题吗?

+0

你在模拟器上运行它吗? –

+0

查看http://developer.android.com/training/displaying-bitmaps/load-bitmap.html和http://stackoverflow.com/a/823966/254567 – epiphany27

+0

为什么你认为SharedPreferences是问题所在?图像大小是多少? – Simon

回答

0

Android硬件必须至少支持2048x2048。

对于OpenGL的我用:

int[] maxSize = new int[1]; 
gl.glGetIntegerv(GL10.GL_MAX_TEXTURE_SIZE, maxSize, 0); 
  • 于Nexus 4,等于4096
  • 对于山城二等于4096

可以计算[(Height in pixels) x (length in pixels) x (bit depth)]/8/1024 = image size in kilobytes (KB)

所以确保你有适当的图像尺寸。

希望它有帮助,