我有一個活動,一個接一個地調用一個線程10次。但是,如果網絡速度較慢或載入的信息過多,則會發生強制關閉。在每個線程中添加睡眠是否有助於解決此問題?還是有其他解決方法嗎?睡眠/在Android應用程序中等待
public void run() {
if(thread_op.equalsIgnoreCase("xml")){
readXML();
}
else if(thread_op.equalsIgnoreCase("getImg")){
getWallpaperThumb();
}
handler.sendEmptyMessage(0);
}
private Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
int count = 0;
if (!myExampleHandler.filenames.isEmpty()){
count = myExampleHandler.filenames.size();
}
count = 5;
if(thread_op.equalsIgnoreCase("xml")){
pd.dismiss();
thread_op = "getImg";
btn_more.setBackgroundResource(R.drawable.btn_more);
}
else if(thread_op.equalsIgnoreCase("getImg")){
setWallpaperThumb();
index++;
if (index < count){
Thread thread = new Thread(GalleryWallpapers.this);
thread.start();
}
}
}
};
爲什麼不先測試網絡速度,然後開始減少呼叫次數,獲取一些時間,並跟蹤響應需要多長時間,並且如果它們開始變得太慢,則減少一次呼叫的次數。 – 2010-04-20 02:01:13
恩......我測試過了。如果我加載少於5次,那麼它工作正常。超過5次通常會將其擰緊。但我真的需要加載它10次。因此,我能做什麼解決方案?我已經添加了部分代碼,因爲我使用可運行和處理函數來啓動新線程。 – Lynnooi 2010-04-20 02:38:53