ListView的优化

android中Listview的优化技巧

你离开我真会死。 提交于 2019-12-15 18:28:37
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 减少内存中view对象的创建个数(明显提高效率) 复用历史缓存的view对象,减少Android内存消耗 减少子孩子(子控件)的查询次数(控件较少时提高不明显,大概5%) findviewbyid查询比较费时,只查找一次,找到后存起来 分批分页加载数据(避免数据过多造成内存不足) 1. 直接利用sql语句查询若干条数据,limit 数据量,offset 从哪开始 例如:select xx,xx from xxx order by _id desc limit ? offset ? 2.当listview滚动到最后时候再加载offset个数据 1.为listview注册滚动事件的监听 2.onScrollStateChanged:三种状态 1.在空闲状态(idle)时候判断listview的滚动位置 2.getLastPOsition 3.新来的数据加到原来的后面 3.滚动到最后的时候要提示用户数据已经全部加载完成了了,同时不在查询 4.分页:当数据量特别大的时候,可以将数据分成若干页。一页加载完了,就直 接后一页就 覆盖前一个,使用同一个集合即可 //使用listView.setAdapter(new MyAdapter()); class MyAdapter extends BaseAdapter { /