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

    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. }

Android, BaseAdapter 处理大数据量时的优化的更多相关文章

  1. 大数据量时Mysql的优化

    (转自网络) 如今随着互联网的发展,数据的量级也是撑指数的增长,从GB到TB到PB.对数据的各种操作也是愈加的困难,传统的关系性数据库已经无法满足快速查询与插入数据的需求.这个时候NoSQL的出现暂时 ...

  2. sql大数据量查询的优化技巧

    1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索 ...

  3. MySQL大数据量分页性能优化

    mysql大数据量使用limit分页,随着页码的增大,查询效率越低下. 测试实验 1.   直接用limit start, count分页语句, 也是我程序中用的方法: select * from p ...

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

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

  5. 大数据量时 Mysql LIMIT如何正确对其进行优化(转载)

    以下的文章主要是对Mysql LIMIT简单介绍,我们大家都知道LIMIT子句一般是用来限制SELECT语句返回的实际行数.LIMIT取1个或是2个数字参数,如果给定的是2个参数,第一个指定要返回的第 ...

  6. 【原创】大数据量时生成DataFrame避免使用效率低的append方法

      转载请注明出处:https://www.cnblogs.com/oceanicstar/p/10900332.html      ★append方法可以很方便地拼接两个DataFrame df1. ...

  7. mysql大数据量之limit优化

    背景:当数据库里面的数据达到几百万条上千万条的时候,如果要分页的时候(不过一般分页不会有这么多),如果业务要求这么做那我们需要如何解决呢?我用的本地一个自己生产的一张表有五百多万的表,来进行测试,表名 ...

  8. .net WebService 大数据量时性能的提高

    1.直接返回DataSet对象 [WebMethod(Description = "直接返回DataSet对象")] public DataSet GetUserListDateS ...

  9. Kendo UI中TreeView 放入tabstrip中,大数据量时超过边框的解决方案。

    参考http://www.kendoui.com/forums/ui/tabstrip/tabstip-with-treeview-treeview-breaking-out-of-tabstrip. ...

随机推荐

  1. DataTable和DataSet有什么区别

    DataTable和DataSet有什么区别 DataSet:数据集.一般包含多个DataTable,用的时候,dataset["表名"]得到DataTable   DataTab ...

  2. sort 排序详解

    http://www.qdfuns.com/notes/17398/c56832f62b3271e79671f77dcdd2c058.html. http://www.qdfuns.com/notes ...

  3. Ubuntu cron定时执行任务

    1.添加自定义事件 crontab -e 2.选定编辑器 3.添加执行代码 * * * * /usr/bin/curl http://www.exmple.com/cron.php crontab 命 ...

  4. python基础(三)列表、数组、字典

    列表与元组 列表是最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义列表 1 >>> names = ['wangeq','zlx','jack','rose ...

  5. java方法中只有值传递,没有引用传递

    public class Example { String testString = new String("good"); char[] testCharArray = {'a' ...

  6. Oracle技术整理(转载)

  7. 《JS权威指南学习总结--3.8类型转换》

    JS数据类型转换方法主要有三种:          转换函数.强制类型转换.利用js变量弱类型转换. 一.转换函数          parseInt()和parseFloat()两个转换函数.   ...

  8. LVS负载均衡的三种模式和八种算法总结

    三种LVS负载均衡模式 调度器的实现技术中,IP负载均衡技术是效率最高的,IP虚拟服务器软件(IPVS)是在linux内核中实现的。 LVS负载均衡模式---1.NAT模式 NAT用法本来是因为网络I ...

  9. c# office转换成pdf

    下载地址 [url]http://www.microsoft.com/downloads/details.aspx?FamilyId=4D951911-3E7E-4AE6-B059-A2E79ED87 ...

  10. Long-Polling, Websockets, SSE(Server-Sent Event), WebRTC 之间的区别

    在下面的示例中,客户端指的是浏览器,服务器指的是网站服务器主机. 为了更好的理解这些知识点,你应该简单了解典型的http网站是如何工作的. 普通的http: 客户端从服务器端请求网页 服务器作出相应的 ...