猿问

关于加载多量数据的问题,如何优化。求指点迷津

列如,我的一个Activity要加载n张图片,我知道了路径为一个list,
一下子加载完很不好吧?
1.有没有加载一半的做法?该如何做?
2.加载了图片用了,之后不用了,我如何让它释放?
3.是不是生成n个ImageView?

在这里提问个这样的问题,因为我想弄一个Image的视频。你想想,一个MP4就上1G。人家是如何加载的?


宝慕林4294392
浏览 519回答 5
5回答

慕运维8079593

开启一个线程,加载一张显示一张,显示完即可释放

慕田峪4524236

你的activity上要同时显示几张图片有要求吗?如果就显示一张,那么可以多缓存一张。当然了,加载的过程要开启一个新线程在后台来做。如果要显示多张,可以考虑HorizontalListView。

临摹微笑

ListView和GridView都是自带动态加载的,不会OOM的,但是画廊控件是不行的,ListView和GridView都是内部有一个item重用机制,比如一个屏幕有8个item,item8出屏幕之后就会添加到可重用item的队列中,然后当下一个item出现,就会从可重用的item中拿出,重新加载图片和布局再显示,也就是说对象数就是这几个item,大大节省了内存,如果楼主要自己进行动态加载,也是这个原理,对象数目不变,变的只是对象上显示的内容。listView使用Holder的方法使得每次都不用再初始化布局,大大提高了效率和流畅度
随时随地看视频慕课网APP

相关分类

Java
我要回答