Ero*_*rol 4 java android hashmap out-of-memory
我正在使用java.util HashMap的OOM问题所以我正在寻找标准Java Hashmap的内存友好HashMap替代品.我尝试了Trove并且它有所改进,但仍然不时地与OOM结束.如果内存有效,我可以适应一些速度损失.
我不是在找DB.只要它们脱机工作,基于文件的HashMap实现也很好.我正在存储像int和byte这样的原语.
此外,请说明您是否有任何经验以及您在记忆方面的改进程度.
我可以想到两个对你有用的选项 - 这是最好的完全取决于你的应用程序.第一种是使用WeakReference或SoftReference.现在请记住,从Android 2.3开始,VM变得更加激进,因此收集VM可能会更频繁地收集这些类型的引用.就个人而言,我不是因为这个原因而使用这些类型的参考文献的忠实粉丝,但是有些人可能会争论不同.第二个选项,也是我建议的选项,是查看LRU缓存.您可以使用LinkedHashMap实现自己的LRU缓存.但是,如果您使用地图存储位图,我强烈建议您查看Android兼容包提供的位图缓存,其中包括位图缓存.这里有一些您可以用来阅读的链接:
Android Bitmap Cache以及为什么要避免使用弱/软引用
| 归档时间: |
|
| 查看次数: |
3283 次 |
| 最近记录: |