【问题标题】:How to prevent reload after change rotation jquerymobile如何在更改旋转 jquerymobile 后防止重新加载
【发布时间】:2011-05-31 16:31:31
【问题描述】:

我使用 jquerymobile 和 Phonegap 开发了一个简单的 Android 应用程序。 问题是,在更改轮换后,应用程序是否完全重新加载。 有可能防止这种重新加载吗?

非常感谢您的建议。

【问题讨论】:

    标签: android cordova


    【解决方案1】:

    这取决于您是要保持纵向模式,还是要切换方向但更快地重新加载。

    如果您想保持纵向模式而不考虑设备的方向,请查看(例如)How do I disable orientation change on Android?

    如果您想更改方向,那么您将无法摆脱您的活动将以新方向重新启动的事实。这就是 Android 的工作原理。

    您可以做的是在 Activity 被终止之前缓存您的应用所需的数据,然后在 Activity 以新方向重新启动时重新加载该缓存数据,从而显着加快该过程。为此,您需要 onRetainNonConfigurationInstance(),这篇文章 -- http://developer.android.com/resources/articles/faster-screen-orientation-change.html -- 解释了如何做到这一点。

    【讨论】:

    【解决方案2】:

    添加这个

    android:configChanges="keyboardHidden|orientation"
    

    进入清单的活动节点。

    【讨论】:

      【解决方案3】:

      所以这是一个phonegap问题,经过更多搜索:

      添加

      android:configChanges="orientation|keyboardHidden"  
      

      继承自 DroidGap 的 Activity 标签 (AndroidManifest.xml) 的参数。

      方向仍然有效,但网页不会刷新。

      【讨论】:

      • 这对我在 Cordova 2.7.0 和 Android 4.0.3 下不起作用。与 Cordova 2.3.0 相同。网页完全重新启动,然后在经典的 JNI 本地引用表溢出错误上崩溃,因为数据以某种方式重复..(另一个我没有答案的问题)
      【解决方案4】:

      请覆盖这两种方法以防止您的网页(活动)重新加载,并在 Manifest.xml 文件中的 Web 视图活动中编写 android:configChanges="orientation|screenSize" 行的代码。

      @Override
      public void onSaveInstanceState(Bundle savedInstanceState) {
          //Save the state of Webview
          mWebView.saveState(savedInstanceState);
          super.onSaveInstanceState(savedInstanceState);
      }
      
      @Override
      protected void onRestoreInstanceState(Bundle savedInstanceState) {
          super.onRestoreInstanceState(savedInstanceState);
          // Restore the state of webview
          mWebView.restoreState(savedInstanceState);
      }
      

      mWebView 是你的 webview 对象。

      【讨论】:

        【解决方案5】:

        将此代码放入 AndroidManifest.xml 有助于:

        android:configChanges="keyboardHidden|orientation|screenSize"

        这篇文章的功劳:

        https://github.com/phonegap/build/issues/159

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-06-22
          • 1970-01-01
          相关资源
          最近更新 更多