你好?我正在调试一些与 Android 小部件相关的问题。
我的应用程序使用 Glide 库提供的两个线程来制作原始小部件图像文件和缩略图小部件图像文件。
在制作小部件图像文件时,我的应用程序会创建一些布局,如 LinearLayout 并将其绘制在位图(例如)中layout.draw(Canvas(bitmap))并将位图保存到文件中。
它几乎可以在一段时间内正常工作,但有时会报告一些问题,如下所示。
java.lang.ArrayIndexOutOfBoundsException: length=3; index=3
at android.util.ContainerHelpers.binarySearch(ContainerHelpers.java:28)
at android.util.SparseArray.get(SparseArray.java:120)
at android.util.SparseArray.get(SparseArray.java:111)
at android.view.ViewConfiguration.get(ViewConfiguration.java:494)
at android.view.View.<init>(View.java:5432)
at android.view.View.<init>(View.java:5624)
at android.view.ViewGroup.<init>(ViewGroup.java:687)
at android.widget.LinearLayout.<init>(LinearLayout.java:254)
at android.widget.LinearLayout.<init>(LinearLayout.java:250)
at android.widget.LinearLayout.<init>(LinearLayout.java:246)
at android.widget.LinearLayout.<init>(LinearLayout.java:242)
当我像这样制作 LinearLayout 时会引发此异常LinearLayout(context).apply { orientation = LinearLayout.VERTICAL }
我怀疑有些并发。在多线程中创建 LinearLayout 有什么问题吗?