Android优化 最常见的就是ListView, Gallery, GridView, ViewPager 的大数据优化 图片优化 访问网络的优化
优化的原则: 数据延迟加载 分批加载 本地缓存
数据优化 1).复用contentview
2).创建static class ViewHolder
3).分批加载 滑动监听 或者按钮 显示更多数据 往下拖动 显示
图片优化 1).异步加载
2).本地缓存(二级缓存 内存(软引用实现),sd卡)
3).快速滑动时不显示图片
4).分为核心线程池和普通线程池,下载图片等耗时任务放置在普通线程池
异步加载 AsynTask android 封装好的异步数据获取,包括三个方法
doInBackground 执行在子线程中的异步方法
onProgressUpdate 数据获取之后 执行的方法,在主线程中可以在这里更新UI界面
onPostExecute 异步方法执行前,可以进行界面友好提示 在主线程中执行的方法
也可以自己封装一个任务类(子线程)thread 采用线程池 这里需要自己维护一个任务列表,并且做到任务的优先级
对Adapter 优化的代码:
public class HolderAdapter<E> extends AbstractAdapter<E> {
public HolderAdapter(LayoutInflater inflater, ViewCreator<E> creator) {
super(inflater, creator);
}
private static class ViewHolder{
public View view;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// Holder View模式实现
if (convertView == null) {
ViewHolder holder = new ViewHolder();
convertView = mCreator.createView(mInflater, position,getItem(position));
holder.view = convertView;
convertView.setTag(holder);
} else {
ViewHolder holder = (ViewHolder) convertView.getTag();
//释放当前的View的数据
mCreator.releaseView(convertView, getItem(position));
//将新数据更新到HodlerView中
mCreator.updateView(holder.view, position, getItem(position));
}
return convertView;
}
}
分享到:
相关推荐
ListView与BaseAdapter的配套使用 理解android 中adapter适配的作用 以及ListView的优化方式
此文件为Eclipse下的android工程,里面介绍了listView的三种适配方式,从实现到优化。
android中自定义适配器BaseAdapter
一个简单baseAdapter的封装demo.减少一些不必须要的重复的代码。
android demo,baseAdapter的应用,
Android必学-BaseAdapter的使用与优化,写出高效、文艺的BaseAdapter, android studio环境
android BaseAdapter AsyncTask 异步加载
Android中ListView,SQLite,BaseAdapter的结合[参照].pdf
Android-扩展BaseAdapter实现progressBar下载 * 该Demo涉及了BaseAdapter,ProgressBar,Handler,Thread,线程池; * * Android-扩展BaseAdapter实现progressBar下载 * 1.创建listview的xml * 2.创建listview中...
android demo,BaseAdapter传递context的应用,
BaseAdapter最优化方法 与三种写法 可以直接作为工具类使用
baseadapter
Android自定义BaseAdapter,大大的节省代码量
BaseAdapter 是一个我写的adapter的基类,感觉还是比较用,希望大家多提意见
Android中ListView,SQLite,BaseAdapter的结合源码
主要介绍了Android中BaseAdapter用法,分析了BaseAdapter的功能、使用方法与相关注意事项,需要的朋友可以参考下
详细介绍android开发的BaseAdapter使用方法,提供各种代码例子!
baseAdapter例子 适合新手学习,万能适配器
主要介绍了Android BaseAdapter应用方法,结合生成联系人Items的实例形式分析了BaseAdapter的使用技巧,需要的朋友可以参考下
主要是测试baseAdapter的getView在生成实例时的空判断进行接卸