zhpt07 2016-08-12 02:58 采纳率: 0%
浏览 983
已结题

listview item做倒计时thread线程导致anr

int result = 0;<br>     boolean flg = true;<br>     public Thread thread;<br>     public void start() {<br>         if (thread == null){<br>             thread = new Thread() {<br>                 public void run() {<br>                     while (flg) {<br>                         try {<br>                             if (arrayList1 == null || result == arrayList1.size()) {<br>                                 break;<br>                             }<br>                             sleep(1);<br>                             for (PurchaseDateil person : arrayList1) {<br>                                 if (Integer.parseInt(person.getPublicDate())>0) {<br>                                     if ("1".equals(person.getPublicDate())) {<br>                                         person.setPublicDate("0");<br>                                         result++;<br>                                         Intent intent = new Intent("com.example.cloudAndPurchasing.zhpt");<br>                                         localBroadcastManager.sendBroadcast(intent);<br>                                         flg = false;<br>                                         break;<br>                                     } else {<br>                                         person.setPublicDate((Integer.parseInt(person.getPublicDate()) - 1) + "");<br>                                     }<br>                                 }<br>                             }<br>                         } catch (InterruptedException e) {<br>                             e.printStackTrace();<br>                         }catch (ConcurrentModificationException e){<br>                             e.printStackTrace();<br>                         }catch (Exception e){<br>                             LogUtil.e("AdapterNewPublish start error:",e.toString());<br>                         }<br>                     }<br>                 }<br>             };<br>         }<br>         thread.start();<br> //        MyThreadPoolManager.getInstance().execute(thread);<br>     }<br>         sleep(1);这行报错<br>         图片说明

  • 写回答

1条回答 默认 最新

  • 刘兆贤 博客专家认证 2016-08-24 03:32
    关注

    线程已等待,超过5S即报ANR
    通常情况下,你是线程倒计时,刷新到UI线程上,但子线程明明被等待了,可能由于内存吃紧的原因,你最好监听下exception,然后notify一下

    评论

报告相同问题?

悬赏问题

  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀
  • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100
  • ¥15 关于#hadoop#的问题
  • ¥15 (标签-Python|关键词-socket)
  • ¥15 keil里为什么main.c定义的函数在it.c调用不了