[英]How can I avoid java.lang.OutOfMemoryError: bitmap size exceeds VM budget in android while using a large bitmap?
[英]How can I avoid this error with while JAVA Android
我正在設計一個應用程序,它的作用是一種“秘密朋友”,我顯然告訴該應用程序不要重復與所選人員一起玩的人,請參見:
if (lista2.isEmpty())
{
(Toast.makeText(getApplicationContext(), this.getString(R.string.nospace), Toast.LENGTH_LONG)).show();
return;
} else {
Random random = new Random();
int start2;
do
{
start2 = random.nextInt(lista2.size() - 0) + 0;
}
while (lista2.get(start2).equals(spinner1.getSelectedItem().toString()));
}
同時,有時應用程序崩潰,因為lista2
上沒有更多項目,只是同一個人( spinner1.selectedItem
),我該如何解決呢?
你應該做的是
這樣,您無需使用do-while循環
先檢查一下
if (lista2.isEmpty())
{
(Toast.makeText(getApplicationContext(), this.getString(R.string.nospace), Toast.LENGTH_LONG)).show();
return;
} else {
//do a check here
for(int i = 0; i < lista2.size(); i++){
if(!lista2.get(start2).equals(spinner1.getSelectedItem().toString())){
break;
}
if(i == lista2.size() - 1){
Toast.makeText(getApplicationContext(), this.getString(R.string.nospace), Toast.LENGTH_LONG)).show();
return;
}
}
Random random = new Random();
int start2;
do
{
start2 = random.nextInt(lista2.size() - 0) + 0;
}
while (lista2.get(start2).equals(spinner1.getSelectedItem().toString()));
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.