Android-优化UI性能(1)-降低主线程的堵塞时间

一 降低主线程的堵塞时间

Android已经提供了AsyncTask实现从主线程生成新的异步任务的方法。

定义并实现以下的类就可以(方法由系统自己主动调用):

public class DownloadFilesAsyncTask extends AsyncTask<URL,integer,Long>
{ /* (non-Javadoc)
* 后台运行函数
* @see android.os.AsyncTask#doInBackground(Params[])
*/
@Override
protected Long doInBackground(URL... arg0)
{
// TODO Auto-generated method stub
return null;
}
//在后台线程完毕后运行
@Override
protected void onPostExecute(Long result)
{
// TODO Auto-generated method stub }
//在后台线程開始前运行
@Override
protected void onPreExecute()
{
// TODO Auto-generated method stub
super.onPreExecute();
}
//设置进度的更新,比如设置一个显示的进度条
@Override
protected void onProgressUpdate(integer... values)
{
// TODO Auto-generated method stub }

由异步任务即能够降低主线程的堵塞时间

Android-优化UI性能(1)-降低主线程的堵塞时间的更多相关文章

  1. Android提高UI性能技巧

    提高UI性能的方法事实上有非常多在实际的开发中都已经用到了,在此做一下总结. 1.降低主线程的堵塞时间 若一个操作的耗时较长(超过5秒),我们应该将其放入后台线程中运行.仅仅在须要改动UI界面时通知主 ...

  2. 关于React Native项目在android上UI性能调试实践

    我们尽最大的努力来争取使UI组件的性能如丝般顺滑,但有的时候这根本不可能做到.要知道,Android有超过一万种不同型号的手机,而在框架底层进行软件渲染的时候是统一处理的,这意味着你没办法像iOS那样 ...

  3. ThreadLocal ——android消息机制handler在非主线程创建not called Looper.prepare() 错误的原因

    引用自:https://www.jianshu.com/p/a8fa72e708d3 引出: 使用Handler的时候,其必须要跟一个Looper绑定.在UI线程可直接初始化Handler来使用.但是 ...

  4. Android优化——UI检视利器:Hierarchy Viewer

    在Android的SDK工具包中,有很多十分有用的工具,可以帮助程序员开发和测试Android应用程序,大大提高其工作效率.其中的一款叫 Hierachy Viewer的可视化调试工具,可以很方便地在 ...

  5. Android中,子线程使用主线程中的组件出现问题的解决方法

    Android中,主线程中的组件,不能被子线程调用,否则就会出现异常. 这里所使用的方法就是利用Handler类中的Callback(),接受线程中的Message类发来的消息,然后把所要在线程中执行 ...

  6. Android优化——UI优化(三)使用ViewStub延迟加载

    使用ViewStub延迟加载 1.ViewStub延迟加载 ViewStub是一个不可见的,大小为0的View,最佳用途就是实现View的延迟加载,在需要的时候再加载View,可Java中常见的性能优 ...

  7. C# ASP.NET 优化程序性能、降低内存使用、提高程序运行速度

    首先纪念一下今天的股票大跌抓个图,虽然我自己损失不是很大,但是应该大多人都损失不小.也可能有人会继续跳楼,也可能是股市一个新的转折点来了. 接着还是重点关注自己写代码优化的主题吧.软件系统当访问量不大 ...

  8. Android优化——UI优化(二) 使用include标签复用布局

    使用include标签复用布局 - 1.include标签的作用 假如说我下图的这个布局在很多界面都用到了,我该怎么办?每个页面都写一遍的话,代码太冗余,并且维护难度加大. <LinearLay ...

  9. Android优化——UI优化(一)优化布局层次

    优化布局层次 1.避免布局镶嵌过深(如下) <LinearLayout xmlns:android="http://schemas.android.com/apk/res/androi ...

随机推荐

  1. 各个版本VS编译好的GDAL库下载

    简单说明 自己编译GDAL比较繁琐且时间较长,而且很多 Driver 需要自己去编译.如果不是要学习怎么编译GDAL,可以直接使用已经编译好的库. OSGeo官方没有提供编译好的GDAL,但是它有给出 ...

  2. 开启spring boot actuator 安全认证

    通过本文配置,会对actuator 除了health外的所有端点,开启用户名密码验证,对于自己开发的接口不会要求用户名密码验证. 版本: <parent> <groupId>o ...

  3. 微信小程序即将上线,创业者机会在哪里?

    作者:全栈生姜头链接:https://www.zhihu.com/question/54352253/answer/139741070来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载 ...

  4. iOS中coreData的用法

    // // ViewController.m // coredatademo002 // // Created by ganchaobo on 13-6-29. // Copyright (c) 20 ...

  5. ios 中sqlite的用法

    #import <sqlite3.h> @interface ViewController () { sqlite3 *_sqldb; } @end @implementation Vie ...

  6. Xcode使用小技巧-filter查找功能和查看最近修改的文件

    今天偶然发现了关于Xcode的一个小技巧: 1.查看最近修改的文件 2.使用filter查找制定文件 没错,就是下面这个东西,很容易忽略的一个小工具,在Xcode左下角位置. 通过这个,我们能够在整个 ...

  7. Xcode全局替换内容,一键Replace

    有时需要在整个项目里,全局修改某一段话或文字,可以这样快速实现: 1.打开查找功能 2.输入你要替换的内容 比如,我这边想全局修改作者名称 3.点击Find,会出现一个框,会有replace出来,就和 ...

  8. linux shell 脚本攻略学习13--file命令详解,diff命令详解

    一.file命令详解 find命令可以通过查看文件内容来找出特定类型的文件,在UNIX/ Linux系统中,文件类型并不是由文件扩展名来决定的(windows中却正是这么做的),file命令的目的是从 ...

  9. jenkins 图文教程 下载 --》安装--》更改默认端口号,附自启动脚本

    参考文章: 1.http://www.ibm.com/developerworks/cn/java/j-lo-jenkins/ 2.http://blog.csdn.net/zhaolixin007/ ...

  10. ubuntu远程桌面连接windows系统

    现在用ubuntu系统,公司买了个windows的服务器,需要给配置一套环境,来回跑很麻烦,就想windows下可以的远程桌面,Linux应该也有. 现在自己的ubuntu13.10,无法进入桌面的“ ...