Форум программистов, компьютерный форум CyberForum.ru

Запрет поворота экрана после создания активити - Android

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 100, средняя оценка - 4.73
Rebelx
3 / 3 / 0
Регистрация: 13.10.2009
Сообщений: 40
31.10.2012, 12:19     Запрет поворота экрана после создания активити #1
Как сделать сабж?
Если в onCreate вызываю :

setRequestedOrientation(
ActivityInfo.SCREEN_ORIENTATION_NOSENSOR);

И если текущая ориентация не портрет - происходит повторный вызов onCreate, с другой ориентацией

Мне требуется запуск в ориентации behind, и блокировка изменения поворота.

Как это сделать?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.10.2012, 12:19     Запрет поворота экрана после создания активити
Посмотрите здесь:

Android Обработка поворота экрана. Сохранение введенной информации
Мигает активити после сплешскрина Android
Android Запуск в ландшафтном режиме и запрет поворота. Как сделать?
Android Ошибки при востановление активити после уничтожения
Android Запрет выполнения onCreate при повороте экрана
Как вызвать метод в активити классе из обычного не активити класса? Android
После поворота экрана view формы пропадают Android
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
31.10.2012, 12:56     Запрет поворота экрана после создания активити #2
запретить до создания активити, то есть в манифесте.
Rebelx
3 / 3 / 0
Регистрация: 13.10.2009
Сообщений: 40
31.10.2012, 13:02  [ТС]     Запрет поворота экрана после создания активити #3
Цитата Сообщение от V0v1k Посмотреть сообщение
запретить до создания активити, то есть в манифесте.
и что там написать?
портрет / ландшафт - не катит. нужен запуск в разных вариантах.
behind - запускается правильно, но потом начинает крутиться. (это надо запретить)
nosensor - запускается в портрете. не гуд.
sensor - ну запустится правильно. а потом все равно заблокировать надо. как?
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
31.10.2012, 14:00     Запрет поворота экрана после создания активити #4
нужно задать нужную ориентацию и в манифесте и в активити.
Rebelx
3 / 3 / 0
Регистрация: 13.10.2009
Сообщений: 40
31.10.2012, 14:13  [ТС]     Запрет поворота экрана после создания активити #5
Как?
Мне нужная - behind
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
31.10.2012, 14:31     Запрет поворота экрана после создания активити #6
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_BEHIND);
Rebelx
3 / 3 / 0
Регистрация: 13.10.2009
Сообщений: 40
31.10.2012, 14:46  [ТС]     Запрет поворота экрана после создания активити #7
Цитата Сообщение от V0v1k Посмотреть сообщение
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_BEHIND);
Супер!!!

но я же уже писал:
behind - запускается правильно, но потом начинает крутиться. (это надо запретить)
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
31.10.2012, 15:53     Запрет поворота экрана после создания активити #8
крутится несмотря на вызов setRequestedOrientation?
Rebelx
3 / 3 / 0
Регистрация: 13.10.2009
Сообщений: 40
31.10.2012, 16:07  [ТС]     Запрет поворота экрана после создания активити #9
Цитата Сообщение от V0v1k Посмотреть сообщение
крутится несмотря на вызов setRequestedOrientation?
да, крутится

Вообще проблема в том, что приложение падает после нескольких поворотов.
в теме приложения указана тема с бекграундом (200кб).

<style name="MyTheme" parent="android:Theme.NoTitleBar">
<item name="android:windowBackground">@drawable/background</item>
</style>


и с некоторых пор (на 2.х - вроде работало, на 4.0 - падает) после нескольких поворотов приложение стало падать:

Out of memory on a 16384016-byte allocation.

вроде не очень много.
Если строку с бекграундом убрать - ничего не падает.
Для некоторых активити решил проблему созданием двух view, инициализуемых единожды. но для всех такой изврат лепить не хочется. как победить проблему памяти - не знаю. решил запретить вращение когда не попадя.
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
31.10.2012, 16:22     Запрет поворота экрана после создания активити #10
когда я задаю ориентацию в манифесте, у меня ниче не крутиться...

Добавлено через 57 секунд
Цитата Сообщение от Rebelx Посмотреть сообщение
как победить проблему памяти
использовать меньше памяти.
Rebelx
3 / 3 / 0
Регистрация: 13.10.2009
Сообщений: 40
31.10.2012, 16:31  [ТС]     Запрет поворота экрана после создания активити #11
Цитата Сообщение от V0v1k Посмотреть сообщение
когда я задаю ориентацию в манифесте, у меня ниче не крутиться...

Добавлено через 57 секунд

использовать меньше памяти.
какую задаешь?

Добавлено через 2 минуты
Цитата Сообщение от Rebelx Посмотреть сообщение
использовать меньше памяти.
Как?
Весь код:
Java
1
2
3
4
5
6
7
8
9
    public void onCreate(Bundle paramBundle) {
        super.onCreate(paramBundle);
        
        setContentView(R.layout.rules);
        WebView localWebView = (WebView) findViewById(R.id.webViewRules);
        localWebView.setBackgroundColor(Color.TRANSPARENT);
        localWebView.loadUrl("file:///android_asset/rules/rules.html");
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_BEHIND);
    }
выпадает на setContentView(R.layout.rules);
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
31.10.2012, 16:47     Запрет поворота экрана после создания активити #12
пробовал задавать только в манифесте behind, portrait, landscape. ниче не вращается.

Цитата Сообщение от Rebelx Посмотреть сообщение
выпадает на setContentView(R.layout.rules);
что выпадает?
setRequestedOrientation вроде нужно вызывать прежде setContentView.

Цитата Сообщение от Rebelx Посмотреть сообщение
Как?
не использовать то, что занимает много памяти. я так понимаю на фон ставишь тяжелую картинку.
Rebelx
3 / 3 / 0
Регистрация: 13.10.2009
Сообщений: 40
31.10.2012, 17:16  [ТС]     Запрет поворота экрана после создания активити #13
Цитата Сообщение от V0v1k Посмотреть сообщение
не использовать то, что занимает много памяти. я так понимаю на фон ставишь тяжелую картинку.
200Кб. меньше уже никак. и так 32 цвета всего

Добавлено через 3 минуты
Цитата Сообщение от V0v1k Посмотреть сообщение
setRequestedOrientation вроде нужно вызывать прежде setContentView.
не важно. крутится

Добавлено через 19 минут
Цитата Сообщение от Rebelx Посмотреть сообщение
200Кб. меньше уже никак. и так 32 цвета всего
уменьшил до 100КБ - не изменилось
уменьшил до 200 байт - перестало падать. но такой фон не круто
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
31.10.2012, 17:17     Запрет поворота экрана после создания активити #14
покеж как в манифесте задаешь ориентацию.

Добавлено через 40 секунд
Цитата Сообщение от Rebelx Посмотреть сообщение
уменьшил до 200 байт - перестало падать. но такой фон не круто
приглядись к другим ресурсам, может что-то другое занимает несколько мегабайт.
Rebelx
3 / 3 / 0
Регистрация: 13.10.2009
Сообщений: 40
31.10.2012, 17:23  [ТС]     Запрет поворота экрана после создания активити #15
Цитата Сообщение от V0v1k Посмотреть сообщение
приглядись к другим ресурсам, может что-то другое занимает несколько мегабайт.
нет ничего больше
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >




<WebView
android:id="@+id/webViewRules"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:background="@android:color/transparent"
android:scrollbars="none" />

</LinearLayout>

но фон - во всех активити одинаковый. и все падают. если убрать фон - все не падают.
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
31.10.2012, 17:36     Запрет поворота экрана после создания активити #16
очень странно, лимит вроде 5мб если не память не подводит.
Rebelx
3 / 3 / 0
Регистрация: 13.10.2009
Сообщений: 40
31.10.2012, 17:44  [ТС]     Запрет поворота экрана после создания активити #17
Цитата Сообщение от V0v1k Посмотреть сообщение
очень странно, лимит вроде 5мб если не память не подводит.
можно с этого места подробнее? где можно прочитать про это?
чет слишком мало. с учетом наличия памяти гигабайтами.

у меня на эмуляторе и раньше такая проблема была
на теле (SGN7000) - нет. проект был заморожен на несколько месяцев.
в процессе обновил тело до 4.0.
вернулся к проекту - работать на теле перестало.
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
31.10.2012, 19:51     Запрет поворота экрана после создания активити #18
это в каком именно девайсе RAM больше гигабайта?
не помню где читал, вот здесь есть инфа про лимит в 16/24 mb на апликейшен - http://blog.gorges.us/2010/07/develo...-memory-limit/
можете еще погуглить.
Rebelx
3 / 3 / 0
Регистрация: 13.10.2009
Сообщений: 40
01.11.2012, 10:05  [ТС]     Запрет поворота экрана после создания активити #19
Цитата Сообщение от V0v1k Посмотреть сообщение
это в каком именно девайсе RAM больше гигабайта?
ну например:
http://market.yandex.ru/model-spec.x...0117&hid=91491
а у меня - первый, там один гиг
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.11.2012, 12:58     Запрет поворота экрана после создания активити
Еще ссылки по теме:

Android Запрет поворота экрана
Приложение вылетает после перехода на новое активити Android
Android Если поменять ориентацию экрана или SurfaceView перекроет другой активити, то приложение завершается аварийно
На телефоне highscreen 3 на всех активити происходит быстрый самовозврат к главной активити Android
После поворота TextView занимает столько же места как и до поворота Android

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
01.11.2012, 12:58     Запрет поворота экрана после создания активити #20
один из первых в котором больше гига?)
Yandex
Объявления
01.11.2012, 12:58     Запрет поворота экрана после создания активити
Ответ Создать тему
Опции темы

Текущее время: 18:07. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru