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. HDU--1301--Jungle Roads(最小生成树)

    Problem Description The Head Elder of the tropical island of Lagrishan has a problem. A burst of for ...

  2. ASP.NET应用程序的生命周期

    对基于.Net平台的Web应用程序开发者来说,编写适合的应用程序生命周期的代码是非常重要的.所以必须要了解应用程序生命周期才能在适当的生命周期阶段编写合适代码,达到预期的效果.ASP.NET应用程序的 ...

  3. 【01-14】hibernate时间生成

    package rugal.sample.core.entity; import java.util.Date; import java.util.UUID; import javax.persist ...

  4. python常用函数年初大总结

    1.常用内置函数:(不用import就可以直接使用) help(obj) 在线帮助, obj可是任何类型 callable(obj) 查看一个obj是不是可以像函数一样调用 repr(obj) 得到o ...

  5. js如何在指定页面跳转到另一指定页面

    要实现从一个页面A跳到另一个页面B,js实现就在A的js代码加跳转代码 JS跳转大概有以下几种方式: 第一种:(跳转到b.html)<script language="javascri ...

  6. eclipse使用外部maven时multiModuleProjectDirectory错误解决

    错误提醒: -Dmaven.multiModuleProjectDirectory system propery is not set. Check $M2_HOME environment vari ...

  7. OPENWRT make menuconfig错误之一

    1.make menuconfig rm: cannot remove `tmp/.host.mk': Permission denied 退到trunk上级目录sudo chown -R 777 t ...

  8. Debian安装autoconf

    ###安装autoconf wget http://mirrors.kernel.org/gnu/autoconf/autoconf-2.65.tar.gz \ && tar -xzv ...

  9. LeetCode OJ 219.Contains Duplicate 2

    Given an array of integers and an integer k, find out whether there are two distinct indices i and j ...

  10. 微信开发网页授权OAuth2.0注意事项

    如图所示