【发布时间】:2013-12-09 07:10:54
【问题描述】:
我是 android-phonegap 应用程序开发的新手。我想从服务器的数据库中显示学生的详细信息。当我尝试连接数据库时,它在 Eclipse IDE 中显示“跳过了 33 帧!应用程序可能在其主线程上做了太多工作”。
如果有的话,请给我解决方案或建议。
【问题讨论】:
我是 android-phonegap 应用程序开发的新手。我想从服务器的数据库中显示学生的详细信息。当我尝试连接数据库时,它在 Eclipse IDE 中显示“跳过了 33 帧!应用程序可能在其主线程上做了太多工作”。
如果有的话,请给我解决方案或建议。
【问题讨论】:
这是因为 android 的 Choreographer 没有获得执行正确显示所需的资源,因此跳帧。
这主要发生在用户在主线程中执行繁重的操作时,记住 Android 是单线程系统,有一个主线程,所有其他子系统都挂钩以执行诸如活动、服务、内容提供程序等任务。这就是为什么当您直接在主服务器上执行网络操作时,您会收到应用程序未响应消息。
要详细说明您的情况,请执行以下操作。
如果您在主线程中进行任何网络操作,请将它们移动到单独的线程中,在 Android 原生中我们有 AsyncTask,请尝试在 Phonegap 中查找线程机制
从某种意义上说,任何可能需要一些时间的逻辑,将其移至线程,这将确保您的显示运行顺畅。
希望对您有所帮助。
【讨论】:
您的数据库或服务器交互如下所示
this.cordova.getThreadPool().execute(new Runnable() {
@Override
public void run() {
// Place your Database and Network related code here
//
}
});
希望对您有所帮助。
【讨论】: