美文网首页Android知识进阶
ListView&RecycleView加载大量数据的时

ListView&RecycleView加载大量数据的时

作者: 拉贝 | 来源:发表于2017-11-02 16:37 被阅读276次

    由来

    演示的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

    补充一点

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

    相关文章

      网友评论

        本文标题:ListView&RecycleView加载大量数据的时

        本文链接:https://www.haomeiwen.com/subject/nbqapxtx.html