我是开发android-phonegap应用程序的新手。我想从服务器中的数据库中显示学生的详细信息。当我尝试连接数据库时,它在eclipse IDE中向我显示“跳过33帧!应用程序可能在其主线程上做了太多工作”。
如果有的话,请给我解决方案或建议。
答案 0 :(得分:7)
这是因为android的编排者没有获得执行正确显示因此跳过帧所需的资源。
这主要发生在用户在主线程中执行大量操作时,记住Android是单线程系统,有单个主线程,其他所有子系统都挂钩执行任务,如活动,服务,内容提供者。这就是为什么当你直接在main thered上执行网络操作时,你得到的应用程序没有响应消息。
要详细说明您的情况,请执行以下操作。
如果您在主线程中进行了任何网络操作,请将它们移动到一个单独的线程,在Android原生中我们有AsyncTask,尝试在Phonegap中查找线程机制
如果您有任何繁重的操作,如压缩位图等,通过线程或后可运行的逻辑有效地处理它们,这将确保您的主线程可以免费执行琐碎的任务,例如生成事件的显示处理等
从某种意义上说,任何可能需要一些时间的逻辑,将它移动到线程,这将确保您的显示顺利运行。
希望有所帮助。
答案 1 :(得分:0)
您的数据库或服务器互动如下
this.cordova.getThreadPool().execute(new Runnable() {
@Override
public void run() {
// Place your Database and Network related code here
//
}
});
希望这对你有所帮助。