我正在尝试使用处理程序来允许应用程序的ui在处理器密集型任务完成之前加载。我尝试使用AsyncTask
,但结果却更糟。
public class MyEditView extends AppCompatEditText {
Handler handler;
public MyEditView(Context context, AttributeSet attrs) {
super(context, attrs);
init(context);
}
public MyEditView(Context context) {
super(context);
init(context);
}
private void init(final Context context) {
handler = new Handler();
//Removing handler.post speeds up the load of the activity significantly
handler.post(new Runnable() {
@Override
public void run() {
Interpreters.ENGLISH.init(context); //Load 133911 line txt file
}
});
}
}
答案 0 :(得分:0)
在ui线程上执行处理器密集型任务,此处理程序将可运行对象发布到在其上创建的同一线程上,根据代码片段,该线程为ui线程。