Android 安卓错误ANR当我做了很多按钮

Android 安卓错误ANR当我做了很多按钮,android,button,android-anr-dialog,Android,Button,Android Anr Dialog,我不明白这个问题。我的android应用程序需要生成自定义按钮。 它可以工作,如果我有少于144个按钮,但如果我生成的按钮多于144个按钮。 它无法工作(Forcse已关闭)并在日志转换中显示错误,如下所示 ANR in com.Sanuk.mahjongandroid (com.Sanuk.mahjongandroid/.MainActivity) Load: 0.92 / 1.0 / 0.83 CPU usage from 21998ms to 0m

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

       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线程中
  • 你为什么不使用一个列表呢

请出示您的代码。