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



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

       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

我敢肯定,这不是我的代码错误。什么错了吗?

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

如果你有繁重的处理工作要做,比如创建很多按钮,这里有一些选择:

  • 使用AsyncTask,尽管在这里,你应该在后台创建按钮,但在UI线程中添加它们。
  • 为什么不用列表呢?

最新更新