我对Android应用程序开发有点新,我已经制作了一些基本的应用程序。我目前正在以更新延迟/延迟的形式与我的某个应用程序有一些问题。
最初我的应用程序有一个难度(seekBar)米。我设置了所有代码,并在模拟器和HTC One Mini上进行了测试。通过这两项测试,我在搜索栏上遇到了可怕的延迟。当我拖着它时,需要几秒钟才能赶上来。这留下了一个非常令人讨厌的使用困难吧。
我已经废弃了这个想法,并且已经更改了我的应用程序,以便为难度设置一些不同的复选框(允许用户选择超过1个难度)。我刚刚测试了复选框,我在搜索栏中遇到了同样的问题。我选中复选框,然后开启几秒钟,反之亦然。我不确定这是我的代码,模拟器或其他问题的问题。
任何帮助都会很棒,如果有帮助,我可以发布我的代码/布局。
谢谢!
答案 0 :(得分:0)
Android是一个多处理环境,这就是您通过在后台执行信息来利用它的方式。确定当时需要设置的内容,例如更新测试视图以反映值,这样用户就不会感觉到滞后,然后在后端(数据库,服务器,其他网络调用)中进行繁重的工作,最后返回它并设置任何最终值。
设置值后,执行以下操作:
Long[] params = {your_param, or_params}; // this can be any object
new AsyncTask<Long, Void, Void>(){
@Override
protected Void doInBackground(Long... params) {
Long param = params[0];
// TODO: call whatever you need in the background, database changes, etc.
}
@Override
protected void onPostExecute(Void result) {
super.onPostExecute(result);
// TODO: any UI changes that need to be made, or toast shown
// UI changes cannot be made in background thread, this brings it back to UI thread
}
}.execute(params);