Java Android应用程序复选框更新时延迟

Java Android应用程序复选框更新时延迟,java,android,eclipse,lag,Java,Android,Eclipse,Lag,我对Android应用程序开发有些陌生,我已经开发了一些基本的应用程序。我的一个应用程序目前存在更新延迟/延迟的问题 最初我的应用程序有一个难度(seekBar)表。我设置了所有的代码,并在模拟器和我的HTC One Mini上进行了测试。在这两次测试中,我的搜索栏都出现了可怕的延迟。当我拖着它走的时候,要花上好几秒钟才能赶上。这就留下了一个非常讨厌的使用难度条 此后,我放弃了这个想法,并更改了我的应用程序,为难度设置了几个不同的复选框(允许用户选择多个难度)。我刚刚测试了这个复选框,我的搜索栏

我对Android应用程序开发有些陌生,我已经开发了一些基本的应用程序。我的一个应用程序目前存在更新延迟/延迟的问题

最初我的应用程序有一个难度(seekBar)表。我设置了所有的代码,并在模拟器和我的HTC One Mini上进行了测试。在这两次测试中,我的搜索栏都出现了可怕的延迟。当我拖着它走的时候,要花上好几秒钟才能赶上。这就留下了一个非常讨厌的使用难度条

此后,我放弃了这个想法,并更改了我的应用程序,为难度设置了几个不同的复选框(允许用户选择多个难度)。我刚刚测试了这个复选框,我的搜索栏也有同样的问题。我选中复选框,然后需要几秒钟才能打开,反之亦然。我不确定这是我的代码、模拟器还是其他问题

任何帮助都会很好,如果有帮助,我可以发布我的代码/布局


谢谢

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);
Long[]params={your_param,或_params};//这可以是任何对象
新建异步任务(){
@凌驾
受保护的Void doInBackground(长…参数){
长参数=参数[0];
//TODO:在后台调用您需要的任何内容、数据库更改等。
}
@凌驾
受保护的void onPostExecute(void结果){
super.onPostExecute(结果);
//TODO:需要进行的任何UI更改,或显示toast
//无法在后台线程中进行UI更改,这会将其带回UI线程
}
}.执行(参数);

发布为响应seekbar/checkbox交互而运行的代码当前没有执行任何代码。我所做的唯一一件事(在我把它全部评论出来之前)是,当按下一个按钮时,它会检索哪些复选框被勾选。谢谢你的帮助,但我仍然不知道如何实现你所说的。还有,这真的有必要吗?我的应用程序是非常基本的,当然我不需要利用你所说的,毕竟我没有代码执行时,复选框正在选择。如果我真的需要这个,我可以阅读更多信息的链接吗?谢谢如果您没有任何繁重的代码在后台执行,那么这就不应该发生。。。这是在模拟器上还是在设备上?只需重新阅读问题,并看到您在这两个设备上都运行了它。好的,那么你能发布你的代码吗?嘿,好的,我发现了我的问题;这是应用程序上的大分辨率背景。这幅画真的很大(1600 x 1080)。显然这太大了,但是我应该提供什么样的正确背景尺寸呢?我还将有一个谷歌搜索。谢谢你的帮助!是的,我让你查一下。我不太清楚,但请记住,改变这个问题完全是失礼