首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >maxMemory和outOfMemoryException

maxMemory和outOfMemoryException
EN

Stack Overflow用户
提问于 2016-01-09 14:14:41
回答 1查看 1.2K关注 0票数 1

我为android开发了一个应用程序。我的问题是,该应用程序崩溃的华为荣誉7,但工作良好的三星银河S3迷你,银河S4,银河S6,Nexus 4和Nexus 5。

我在清单中的应用程序标记中设置了这一行:

代码语言:javascript
复制
android:largeHeap="true"

但这一错误存在于华为的逻辑模型中:

代码语言:javascript
复制
Throwing OutOfMemoryError "Failed to allocate a 31806012 byte allocation with 4194304 free bytes and 24MB until OOM"

我在我的S4和华为上测试S4并得到以下值:GalaxyS4:192 my华为荣誉7: 256 my

要获得值,我使用以下代码:

代码语言:javascript
复制
    Runtime rt = Runtime.getRuntime();
    long maxMemory = rt.maxMemory();
    Log.v("onCreate", "maxMemory:" + Long.toString(maxMemory));

我想知道这些价值观意味着什么。因为上面的错误说明设备上只有大约4MB。

我现在的两个问题如下:

  1. maxMemory代表什么?来自错误的ca 4MB代表什么?
  2. 像Facebook这样的应用程序是如何查看这么多图片的?我可以滚动,然后有300个图像加载在应用程序。但在我的应用程序中,我只能显示一些图片,直到它崩溃?

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2016-01-09 14:43:42

31806012字节= 31.806012 mb 4194304字节= 4.194304 mb

1)据我所知,应用程序所需内存为31 4mb,但设备目前只有4MB内存,剩余的24+内存没有内存,所以会崩溃。

2)facebook通过以下方式找到快速滚动和加载更多图像的解决方案

a)减少垃圾收集

( b)编写自定义事件总线

( c)将照片移至土著堆

( d)编写自定义ListView回收器

有关详细信息,请参阅链接

希望能帮上忙。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34694516

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档