加载图像时出现内存不足错误
我想在android上加载一个图像
background = BitmapFactory.decodeResource(getResources(),R.drawable.hangmanbegin); background = Bitmap.createScaledBitmap(background,screenx,screeny,false);
图像是800 * 1280像素,所以如果我是正确的,它应该使用5MB的内存空间? 但是我的堆只是在那个阶段从15MB增长到29MB,所以没有窗口或上下文泄漏?
这是怎么解释的? 你能做些什么呢?
Thnx提前!
位图占用大量内存,特别是对于像照片这样的丰富图像。 例如,Galaxy Nexus上的相机拍摄的照片最高可达2592×1936像素(5百万像素)。 如果使用的位图配置是ARGB_8888(默认情况下从Android 2.3开始),则将此图像加载到内存中需要大约19MB的内存(2592 * 1936 * 4字节),这会立即耗尽某些设备上的每个应用程序限制。
来自http://developer.android.com/training/displaying-bitmaps/index.html
信用卡及其下方是一种解决方法https://stackoverflow.com/a/10127787/643500
- 在AsyncTask的情况下,在doInBackground()方法之前调用onPostExecute()
- 如何创建一个接口以从Fragment获取信息到Android活动?
- Android自定义对话框NullPointerException
- 从右到左设备上的Android TextView右对齐
- 根据步行速度在2个GPS位置之间插值
- 在android中使用AES CTR模式随机访问InputStream
- Activiy onCreate()期间的ProgressDialog问题:Android中的void
- Android相机拍多张照片
- 将Java.Security.KeyPair转换为.NET RSACryptoServiceProvider