Android-优化UI性能(1)-减少主线程的阻塞时间

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

    } 

由异步任务即可以减少主线程的阻塞时间

版权声明:欢迎交流指正文章的错误,必定虚心接,QQ872785786

时间: 2024-12-17 15:41:00

Android-优化UI性能(1)-减少主线程的阻塞时间的相关文章

Android提高UI性能技巧

提高UI性能的方法事实上有非常多在实际的开发中都已经用到了,在此做一下总结. 1.降低主线程的堵塞时间 若一个操作的耗时较长(超过5秒),我们应该将其放入后台线程中运行.仅仅在须要改动UI界面时通知主线程进行改动. Android已经提供了AsyncTask以实现从主线程生成新的异步任务的方法. 2.提高Adapter&AdapterView的效率 (1)重用已生成过的Item View (2)加入ViewHolder , 避免反复查找须要改动的控件 public View getView(in

Android优化——UI优化(三)

使用ViewStub延迟加载 1.ViewStub延迟加载 ViewStub是一个不可见的,大小为0的View,最佳用途就是实现View的延迟加载,在需要的时候再加载View,可Java中常见的性能优化方法延迟加载一样. 当调用ViewStub的setVisibility函数设置为可见或则调用inflate初始化该View的时候,ViewStub引用的资源开始初始 化,然后引用的资源替代ViewStub自己的位置填充在ViewStub的位置.因此在没有调用setVisibility(int)或则

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

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

Android优化——UI优化(一)

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

Android优化——UI优化(四)

使用style替换背景,防止Activity黑色背景闪过 1.原来的布局 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/img_

Android优化——UI优化(四) 使用stytle

使用style替换背景,防止Activity黑色背景闪过 1.原来的布局 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/img_

Android优化——UI优化(二)

使用include标签复用布局 - 1.include标签的作用 假如说我下图的这个布局在很多界面都用到了,我该怎么办?每个页面都写一遍的话,代码太冗余,并且维护难度加大. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width=&quo

android刷新UI的几种方式总结

首先,android的UI刷新是在主线程(UI线程)中完成的.四大组件中,activity和service运行在主线程中.现在总结自己在项目中常用到的UI刷新方式. 第一,利用子线程发消息刷新UI. 子线程负责处理UI需要的数据,然后发消息到主线程来刷新UI.代码结构如下: new Thread(new Runnable() { @Override public void run() { Person person=new Person(); person.setName(mName.getTe

Android UI性能优化详解

设计师,开发人员,需求研究和测试都会影响到一个app最后的UI展示,所有人都很乐于去建议app应该怎么去展示UI.UI也是app和用户打交道的部分,直接对用户形成品牌意识,需要仔细的设计.无论你的app UI是简单还是复杂,重要的是性能一定要好. UI性能测试 性能优化都需要有一个目标,UI的性能优化也是一样.你可能会觉得“我的app加载很快”很重要,但我们还需要了解终端用户的期望,是否可以去量化这些期望呢?我们可以从人机交互心理学的角度来考虑这个问题.研究表明,0-100毫秒以内的延迟对人来说