【问题标题】:Phonegap-Skipped 33 frames! The application may be doing too much work on its main threadPhonegap - 跳过 33 帧!应用程序可能在其主线程上做了太多工作
【发布时间】:2013-12-09 07:10:54
【问题描述】:

我是 android-phonegap 应用程序开发的新手。我想从服务器的数据库中显示学生的详细信息。当我尝试连接数据库时,它在 Eclipse IDE 中显示“跳过了 33 帧!应用程序可能在其主线程上做了太多工作”。

如果有的话,请给我解决方案或建议。

【问题讨论】:

    标签: android eclipse cordova


    【解决方案1】:

    这是因为 android 的 Choreographer 没有获得执行正确显示所需的资源,因此跳帧。

    这主要发生在用户在主线程中执行繁重的操作时,记住 Android 是单线程系统,有一个主线程,所有其他子系统都挂钩以执行诸如活动、服务、内容提供程序等任务。这就是为什么当您直接在主服务器上执行网络操作时,您会收到应用程序未响应消息。

    要详细说明您的情况,请执行以下操作。

    1. 如果您在主线程中进行任何网络操作,请将它们移动到单独的线程中,在 Android 原生中我们有 AsyncTask,请尝试在 Phonegap 中查找线程机制

    2. 1234563 .

    从某种意义上说,任何可能需要一些时间的逻辑,将其移至线程,这将确保您的显示运行顺畅。

    希望对您有所帮助。

    【讨论】:

    • 我正在使用基于网络的应用程序 - 即 phonegap,我遇到了这个问题。我不确定如何解决它?
    • 请注意,“使用主/UI 线程”与“单线程”不同:Android 确实支持多线程。除此之外,+1
    【解决方案2】:

    您的数据库或服务器交互如下所示

    this.cordova.getThreadPool().execute(new Runnable() {
        @Override
        public void run() {
            // Place your Database and Network related code here                
            //                      
        }
    
    });
    

    希望对您有所帮助。

    【讨论】:

      猜你喜欢
      • 2013-06-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-02
      相关资源
      最近更新 更多