Android多线程handler+runOnUithread+view.post+handler.post

Linux大全评论444 views阅读模式

Listview 可以暂时告一段落了。 见 ListView_v2_系统提供的一些 adapter适配器 http://www.linuxidc.com/Linux/2013-08/88905.htm 与 Android_ListView用法 http://www.linuxidc.com/Linux/2013-08/88904.htm

下面说说android的多线程机制,讲到多线程,就可以说道android有名的ANR(Application Not Responding)既应用程序未响应,触发ANR的条件大致有两个:1、在activity中超过5秒的时间未能响应下一个事件。2、BroadcastReceive超过10秒,这两个条件都会触发ANR。

相关阅读: 

Android多线程任务的优化1:AsyncTask的缺陷  http://www.linuxidc.com/Linux/2011-09/43150.htm

Android多线程之Handler、Looper、Message在基于HTTP系统中的应用  http://www.linuxidc.com/Linux/2012-07/64097.htm

下面模拟一个activity的ANR

protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        findViewById(R.id.button1).setOnClickListener(new OnClickListener()
        {
            @Override
            public void onClick(View v)
            {
                try
                {
                    Thread.sleep(10000);
                }
                catch (InterruptedException e)
                {
                    e.printStackTrace();
                }
            }
        });
    }

运行效果:

未触发:

触发后:

企鹅博客
  • 本文由 发表于 2020年5月30日 06:06:29
  • 转载请务必保留本文链接:https://www.qieseo.com/178556.html

发表评论