listview优化
UI优化: listview条目与条目之间的间隙的分割内容 : android:divider=" @android :color/transparent" listview条目之间的间隙 : android:paddingTop="5.0dip" listview点中的颜色变化 : android:listSelector="@color/transparent" 如果listview有很多个条目 ,在listview的右边 会显示出来一个快速滚动的进度条 : android:fastScrollEnabled="true"(listview里面的条目至少要滚动5个屏幕以上) android:scrollbarStyle="outsideOverlay" android:scrollbars="none" footer view header view 快速拖动时候的悬浮提示(window manager) 数据适配性能优化:
a.传统方式: 复用历史缓存的view对象, convertView 减少 采用布局填充器服务 填充布局的次数,达到减少xml->view 操作的次数. 定义了静态的viewholder 储存了 view对象里面控件的引用, view.setTag() view.getTag(); 减少遍历view对象 树状结构的次数.
b.采用了内存缓存,缓存一些经常使用的数据: 服务器上的图片,缓存这些图片,(缓存手机的Rom卡,sd卡)利用softreference把图片给缓存到内存里面; 再比如缓存从数据库中查询出的所有数据,减少查询数据库的动作
c.高级需求: listview的延时加载: 如果listview里面要显示的有很多的数据, 我们不需要一次把所有的数据都获取出来. 分段的方式 一段一段的把数据下载下来. 注册listview的 onScrollListener(); 发现最后一个可见的条目 为listview里面数据适配器里面的最后的一个条目, 加载更多的内容.
listview的分页显示: 服务器需要提供接口, 一次获取一段的数据. 数据库提供接口 ,一次查询一段的数据.
listview的快速拖动的问题: 当listview在滚动状态下,不去加载listview里面真实的图片和内容,而是把一个缩略图加载界面上. 当listview的滚动状态停止的时候 才去真正的更新里面的条目的内容. 如何让你的ListView实现自动滚动呢? Android其实已经考虑到ListView控件的智能滚动操作。 直接在Layout中写即可,注意下面的stackFromBottom以及transcriptMode这两个属性。涉及代码如下:
Xml代码:
<ListView android:id="listCWJ"  android:layout_width="fill_parent"  android:layout_height="fill_parent"  android:stackFromBottom="true"    android:transcriptMode="alwaysScroll"/> 


更多相关文章

  1. 系出名门Android(9) - 数据库支持(SQLite), 内容提供器(ContentP
  2. android中的bundle传送数据
  3. Android Room联合AsyncListUtil实现RecyclerView分页加载ORM数据
  4. Android——SQLite数据库
  5. Android使用JDBC连接mysql数据库
  6. Android 高效的SQLite型数据库greenDAO使用
  7. Android五种常用数据的存储方式

随机推荐

  1. Android(安卓)如何使用Intent传递对象
  2. Android——微信登录、分享
  3. 领略千变万化的Android(安卓)Drawable (一
  4. 1-Android基础知识
  5. android????fragment?????FragmentArgs??
  6. Android(安卓)应用布局文件的命名规则
  7. Android(安卓)Overlay学习 一
  8. 安卓学习第三天
  9. Android(安卓)OpenGL ES(十二):阶段小结
  10. Android(安卓)Volley完全解析