我在Android中开发了一个应用程序。其中包含如此多的数据(String)和图像。字符串数据来自database
,图像来自/res
文件夹。
在我的应用程序中,第一个活动显示了书籍的类别。然后我选择其中任何一个,然后跳转到下一个活动,显示所有书籍图像和所选类别的简要说明,这些所有数据都来自带有查询操作的数据库,并使用ArrayAdapter
填充自定义列表视图。这些工作并显示我想要的所有东西。
但问题是当我从一个活动中点击类别时,显示第二个活动(所选类别的详细信息)需要1分钟以上的时间。所以,这里的用户被卡住了。这对我的申请来说很糟糕。
那么有没有办法解决这些或任何想法,以显示一个活动到第二个活动之间的活动加载过程?
先谢谢。
请帮我解决这些问题。
答案 0 :(得分:6)
使用AsyncTask作为
public class My_Game_Task extends AsyncTask<String, Void, Void> {
@Override
protected void onPreExecute() {
//put a preloder
super.onPreExecute();
}
@Override
protected Void doInBackground(String... arg0) {
// TODO Auto-generated method stub
find data from database
return null;
}
@Override
protected void onPostExecute(Void result) {
dismiss preloader
set adapter here
super.onPostExecute(result);
}
}
打电话 oncreate as new My_Game_Task()。execute(); 这将立即显示下一个活动并显示预加载器
答案 1 :(得分:0)
首先,你在哪里测试应用程序..如果它在模拟器上,然后在实际设备上检查它,你会知道实际发生了多少延迟。 我有类似的问题,它需要几分钟的模拟器,但在实际设备上运行惊人。它只需要1秒钟显示..
答案 2 :(得分:-1)
尝试这个,它会在执行任何其他操作之前延迟一秒,
try {
Thread.sleep(1000);
} catch (InterruptedException e)
{
e.printStackTrace();
}