Как предотвратить перезагрузку после смены поворота jquerymobile - PullRequest
2 голосов
/ 31 мая 2011

Я разработал простое приложение для Android с использованием jquerymobile и Phonegap.Проблема в том, что после смены приложения приложение полностью перезагружается.Можно ли предотвратить эту перезагрузку?

Большое спасибо за любые советы.

Ответы [ 5 ]

4 голосов
/ 01 июня 2011

Зависит от того, хотите ли вы оставаться в портретном режиме или хотите ли вы менять ориентацию, но перезагружать быстрее.

Если вы хотите оставаться в портретном режиме независимо от ориентации устройства, тогда посмотритев (например) Как отключить изменение ориентации на Android? .

Если вы хотите изменить ориентацию, вы не можете избежать того факта, что ваша деятельность будет возобновлена ​​вновая ориентация.Вот как работает Android.

То, что вы можете сделать, - это кэшировать данные, необходимые вашему приложению непосредственно перед тем, как действие будет прекращено, а затем перезагрузить эти кэшированные данные, как только действие будет перезапущено в новой ориентации, что значительно ускорит процесс.процесс.Для этого вам нужно onRetainNonConfigurationInstance(), а в этой статье - http://developer.android.com/resources/articles/faster-screen-orientation-change.html - объясняется, как это сделать.

2 голосов
/ 31 мая 2011

Добавить

android:configChanges="keyboardHidden|orientation"

в узел активности вашего манифеста.

1 голос
/ 01 июля 2011

Так что это проблема телефонной пропасти и после поиска немного больше:

Добавьте параметр

android:configChanges="orientation|keyboardHidden"  

к тегу Activity (AndroidManifest.xml), который наследуется от DroidGap.

Ориентация все еще будет работать, но веб-страница не будет обновлена.

0 голосов
/ 24 мая 2014

Помещение этого кода в AndroidManifest.xml помогает:

android:configChanges="keyboardHidden|orientation|screenSize"

На эту статью поступает кредит:

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

0 голосов
/ 08 мая 2013

Пожалуйста, переопределите эти два метода для предотвращения перезагрузки вашей веб-страницы (действия) и запишите этот код строки android:configChanges="orientation|screenSize" в вашей активности веб-просмотра в файле Manifest.xml.

@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Ваш веб-объект.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...