ListView&RecycleView加载大量数据的时候如何提高效率

由来

演示的Demo中总是看到

musicVideoBeanLists.addAll(musicVideoBeanList);

这让我深深焦虑内存使用的问题啊,于是上网好好看了些文章,给自己好好充了下电

List存储数据的问题

java中list最多可以存储多少条数据?40万可以吗?

https://www.zhihu.com/question/20171726

android如何在ArrayList中存储大量数据并缓存 [问题点数:40分]

http://bbs.csdn.net/topics/390758969

Android 新浪微博 App 不断“加载更多”,会不会导致这个List集合的内存溢出?

https://www.zhihu.com/question/41155783

RecyclerView 加载数据的优化 ,主要包含以下几个方面:

一. 加载数据布局的优化

● 举例

1. 布局复用

2. 图片优化

3. 等等............

二.有新数据库来的时候,刷新的优化

RecyclerView 数据刷新的几种方式

http://www.cnblogs.com/baiqiantao/p/6956425.html

三.内存有限 ,如何存储数据

提高内存上限 JVM虚拟机可用内存上限

内存不够用外存

(设置一个标准,超过这个大小该回收,(数据持久化会持久化在磁盘里面(形式:1.数据库存储

2.文件存储),以后有用到的情况再从磁盘里面加载))

合理使用内存

(1).合理使用对象内存

● 举例

强软弱虚引用

使用频繁的占用内存大的对象–图片

http://blog.csdn.net/panyongcsd/article/details/46605613

Java:对象的强、软、弱和虚引用

http://zhangjunhd.blog.51cto.com/113473/53092/

Java如何在内存有限的情况下实现一个超大数组?

https://www.zhihu.com/question/30750488

(2).内存中的数据存储流向

可以从磁盘查找到数据 存入内存数据库 从内存数据库中查找然后存入集合 set(集)、list(列表)和map(映射)

关于内存数据库:

Android 内存数据库

http://blog.csdn.net/degwei/article/details/9672485

关于在使用内存中存储数据过程中碰到过什么问题?

推荐文章

java 大数据处理之内存溢出解决办法(一)

http://www.cnblogs.com/a757956132/p/4644910.html

补充一点

在考虑这个问题的时候,回想到我以前看小说时间过长的时候,看到一些对话框提示,“您是否看的太累了,需要休息一下”这个应用场景是否和加载数据结合在一起呢,快到临界值的时候,适当给用户一些提示?

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,142评论 25 708
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,886评论 18 139
  • 回忆我已走过的人生,我想,有这么几个阶段,是值得用自律这个词来称呼的,但可能算不上高度的自律,但是我还是极其想分享...
    明媚小森林阅读 459评论 0 1
  • 刺客的后背,绝不能留给他人。” 斜插在石壁上的松油火把,就着洞外吹来的风,使得山洞内影影绰绰。十来个七八岁左右的孩...
    叶流觞阅读 296评论 1 3
  • 拿破仑是世界著名的军事家、政治家,他身经百战,也历心艰险。拿破仑率军入侵俄国期间,他的部队曾在一片无比荒凉土地上的...
    平心静气观人生阅读 250评论 0 0