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 优化的代码:

Java代码  
  1. public class HolderAdapter<E> extends AbstractAdapter<E> {
  2. public HolderAdapter(LayoutInflater inflater, ViewCreator<E> creator) {
  3. super(inflater, creator);
  4. }
  5. private static class ViewHolder{
  6. public View view;
  7. }
  8. @Override
  9. public View getView(int position, View convertView, ViewGroup parent) {
  10. // Holder View模式实现
  11. if (convertView == null) {
  12. ViewHolder holder = new ViewHolder();
  13. convertView = mCreator.createView(mInflater, position,getItem(position));
  14. holder.view = convertView;
  15. convertView.setTag(holder);
  16. } else {
  17. ViewHolder holder = (ViewHolder) convertView.getTag();
  18. //释放当前的View的数据
  19. mCreator.releaseView(convertView,  getItem(position));
  20. //将新数据更新到HodlerView中
  21. mCreator.updateView(holder.view, position, getItem(position));
  22. }
  23. return convertView;
  24. }
  25. }

转载于:https://www.cnblogs.com/wikiki/p/4303036.html

Android, BaseAdapter 处理大数据量时的优化相关推荐

  1. mysql source导入大数据量时效率提升的方法

    在对mysql数据库进行大数据量导入时,我通常是选择source命令进行导入,这样能比较短的时间内导入.但是,如果数据量大到一定量级时,即使是用source命令,效率也并不高.比如此次要导入的数据库文 ...

  2. 针对大数据量的渲染优化库:react-virtual的基本使用

    针对大数据量的渲染优化库:react-virtual的基本使用 针对大数据量的渲染优化库:react-virtual(List)的基本使用 react-virtual库的安装及引用 安装 使用 针对大 ...

  3. 大数据量时Mysql的优化要点

    原文章 http://www.open-open.com/lib/view/open1430901016179.html 如今随着互联网的发展,数据的量级也是撑指数的增长,从GB到TB到PB.对数据的 ...

  4. 大数据量时使用xloadtree2做分级加载的问题讨论

    我遇到一个问题,是在大数据量分层加载的时候遇到,感到有些莫明其妙,敬请大家讨论! -root (中国) |---1 (北京) |---2 (河北) | |-----2.1 (唐山) | |-----2 ...

  5. 大数据量时Mysql的优化要点[转]

    转自:http://www.open-open.com/lib/view/open1430901016179.html 如今随着互联网的发展,数据的量级也是撑指数的增长,从GB到TB到PB.对数据的各 ...

  6. 任何抛开业务谈大数据量的sql优化都是瞎扯

    周三去某在线旅游公司面试.被问到了一个关于数据量大的优化问题.问题是:一个主外键关联表,主表有一百万数据,外键关联表有一千万的数据,要求做一个连接. 本人接触过单表数据量最大的就是将近两亿行历史数据( ...

  7. 大数据量表的优化查询

    1:索引,我们最先想到的就是创建索引,创建索引可以成倍的提升查询的效率,节省时间.但是如果数据量太过于巨大的时候,这个时候单纯的创建索引是无济于事的,我们知道假如特别是在大数据量中统计查询,就拿100 ...

  8. sqlServer 数据库移库(遇到大数据量时)

    方法一:脚本法 如果你的数据库每天都有更新,而且今天改动量不大,可以将你所有的改动弄成脚本,放到本地数据库执行即可.就行一般公司开发写数据库发布脚本一样. 方法二:备份与还原法 在服务器的数据库中选中 ...

  9. 一个大数据量表访问优化--联动下拉框查询优化

    问题描述有一数据表(产品标签表,每个产品一个唯一的SN,每月100万左右),查询界面上有2个联动下拉框,[规格]____,[批次]______ 用户选择一个规格后(目前200来个规格),列出该规格下达 ...

最新文章

  1. VC,Windbg,gdb执行到指定代码行方法
  2. Activiti工作流之网关
  3. 软件著作权 开源框架_开源软件分享-基于.net core 3.1的快速开发框架
  4. java求任意个数集合的笛卡尔积,Java中任意集的笛卡尔积
  5. mysql long类型_怒肝两个月MySQL源码,我总结出这篇2W字的MySQL协议详解(超硬核干货)!!...
  6. 乘方运算中的“次幂”和“次方”有什么区别?
  7. docker 安装 centos
  8. c语言4x4按键计算器代码,4X4按键实现计算器功能.doc
  9. jira怎么提交bug_请停止编写糟糕的提交消息!
  10. JIRA重启服务器后需要重启TOMCAT的解决
  11. win7 oracle如何卸载干净,win7如何完全卸载oracle
  12. Guitar Pro 教程之如何打开 GPX 文件
  13. 《C++ Primer 第5版》-12.1动态内存与智能指针-康奈尔笔记
  14. c语言程序提速,用C语言加速程序进而加速硬件速度
  15. flutter 获取定位_Flutter 获取定位
  16. win7matlab2016启动闪退,大白菜修复win7系统启动matlab出现闪退的图文方案
  17. USRP 型号对比与挑选
  18. RK3588平台开发系列讲解(AUDIO篇)Linux音频调试--alsa-utils 工具
  19. java中scanner是什么意思_java中scanner是什么
  20. nw.js 软件推荐:AxeSlide斧子演示:PPT的另一种可能(转)

热门文章

  1. 抓取网络文件的URL地址作附件发送
  2. python lstm_python-Keras中LSTM的补充
  3. php -find(),php – beforeFind()添加条件
  4. 我为我Windows Home Server 预热
  5. docker-dockerfile
  6. 『干货』分享你最喜欢的技巧和提示(Xcode,objective-c,swift,c...等等)
  7. 《C++代码设计与重用》——1.2 重用的神话
  8. JS加强学习-DOM学习01
  9. Rust语言开发基础(六)基础语法
  10. golang笔记——struct