andorid进度条使用

关于android进度条

初始化页面时,如果需要从数据库加载数据等消耗时间的操作,一般都需要进度条,这里是进度条使用的2种方式比较
实现方式1:
进入页面后弹出进度条,异步加载数据完毕后关闭并渲染页面
代码大致如下:
// 进度条
myDialog = ProgressDialog.show(this, “请稍等片刻”, “正在请求数据中”, true, true);
//异步加载数据
Thread lodeThread = new Thread(new LodeStationHandler());
lodeThread.start();

//
private Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
case 消息值:
if (myDialog != null) {
myDialog.dismiss();
}

//渲染页面
break;
}
}
};
我一般都采用这种方法,优点是异步加载数据,避免数据量稍大造成的UI主线程超时报错,而且没有方式2的问题

实现方式2:
在上个页面就打开进度条,这时两种选择:1.在离开上个页面时关闭进度条;2.网上见有人在下个页面初始化后关闭上个页面的进度条,没试过
//关闭的handler
private Handler handler = new UIHander();
private final class UIHander extends Handler {
public void handleMessage(Message msg) {
switch (msg.what) {
case EVENT_TIME_TO_CHANGE_IMAGE:
if (myDialog != null) {
myDialog.dismiss();
}
break;
}
}
}

//开启进度条
myDialog = ProgressDialog.show(MainMenuActivity.this, “”,
“loading…”, true, true);
//进下一个activity
startActivity(intentPage);

message = handler.obtainMessage(EVENT_TIME_TO_CHANGE_IMAGE);
handler.sendMessage(message);
问题:1.startActivity本身并不是耗时操作,耗时操作主要是在页面初始化的时候获得数据,下个页面会有一段时间黑屏或只有背景
2.进度条资源被占用,不能转动

Original: https://www.cnblogs.com/lodestar/archive/2012/05/31/andoridProgressDialog.html
Author: lodestar
Title: andorid进度条使用

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/565279/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球