我有一个活动,一个接一个地调用一个线程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