当我制作很多按钮时,Android错误ANR

时间:2013-05-17 05:09:42

标签: android button android-anr-dialog

我不明白这个问题。我的android应用程序需要生成自定义按钮。 它可以工作,如果我有少于144个按钮,但如果我生成按钮超过144个按钮。 它无法工作(Forcse Closed)并在日志中显示错误,如此.....

       ANR in com.Sanuk.mahjongandroid (com.Sanuk.mahjongandroid/.MainActivity)
       Load: 0.92 / 1.0 / 0.83
       CPU usage from 21998ms to 0ms ago:
       98% 3225/com.Sanuk.mahjongandroid: 98% user + 0% kernel
         0% 1141/com.android.voicedialer: 0% user + 0% kernel / faults: 30 minor

我确定,我的代码中没有错误。怎么了?

1 个答案:

答案 0 :(得分:1)

这里的答案是你通过做太多事情来冻结UI线程。 UI线程是负责在屏幕上进行视图绘制和拦截用户触摸的线程。它应尽可能免费获得流畅的应用程序。

如果您需要进行繁重的处理,例如创建大量按钮,可以选择以下方法:

  • 使用AsyncTask,虽然在这里,你应该注意在后台创建按钮,但是在UI线程中添加它们。
  • 你为什么不用名单?