簡體   English   中英

Android / Java罕見且看似不可能的異常導致力量接近

[英]Android / Java rare and seemingly impossible exception causing force close

我從我發布的Android應用程序向我報告了一個有趣的問題。 我有一個二維數組,我正在迭代使用兩個for循環,如下所示:

for (int i = 0; i < arr.length; ++i)
{
    for (int j = 0; j < arr[i].length; ++j)
    {
        if (arr[i][j] != 0)
            // does stuff
    }
}

問題是,不知何故,arr [i] [j]!= 0正在拋出一個ArrayIndexOutOfBoundsException。 但很少。 我有成千上萬的人每天使用該應用程序,並獲得可能二十次強制關閉報告。

這是我無法避免的事情,可能是手機內存的問題等,還是我能做的事情,我還沒有想到呢? 謝謝。

如果您有一個線程讀取數組而第二個線程正在改變它們,則此異常並非不可能。 具體來說,如果變異線程正在改變數組切片的大小; 例如

array[i] = new Whatever[array[i].length - 1];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM