Различный жизненный цикл поведенческой активности на Sony Tablet S

Я новый разработчик на Android. У меня есть приложение, работающее на нескольких устройствах Android, но я обнаружил странное поведение в жизненном цикле действий на Sony Tablet S с версией Android 4.0.3. В моем приложении есть активность A, которая запускает активность B, проблема в том, что при запуске B A приостанавливается и уничтожается, а на других устройствах приостанавливается и возобновляется. Когда я вернулся из активности B с помощью кнопки «Назад», A должен быть создан снова.

Есть идеи? Я много искал об этой проблеме, но я не нашел подобной проблемы. Заранее спасибо!


person Eduardo    schedule 25.03.2013    source источник
comment
Вы всегда должны учитывать, что активность, оставленная пользователем, будет уничтожена. Так в чем твоя проблема с этим?   -  person WarrenFaith    schedule 25.03.2013
comment
Можете ли вы опубликовать код, который вы используете для создания и отображения ActivityB?   -  person AWT    schedule 25.03.2013
comment
Привет @WarrenFaith, моя главная проблема - это активность. На ее создание уходит много времени из-за того, что каждый раз при ее создании приходится загружать некоторые файлы из Интернета.   -  person Eduardo    schedule 26.03.2013
comment
Ну, тогда вам следует подумать о кэшировании файлов. Как еще вы справляетесь с изменением ориентации?   -  person WarrenFaith    schedule 26.03.2013
comment
@WarrenFaith Нет, потому что выбор изображения не будет работать ....   -  person zezba9000    schedule 27.06.2014
comment
@ Эдуардо У тебя все получилось?   -  person zezba9000    schedule 27.06.2014
comment
@zezba9000 я тебя не понимаю   -  person WarrenFaith    schedule 27.06.2014
comment
@WarrenFaith Если основное действие будет уничтожено, а не приостановлено, вы не сможете справиться с намерением выбора изображения.   -  person zezba9000    schedule 27.06.2014
comment
Я бы сомневался в этом, но где вы читали что-то о намерении выбора? В любом случае, если вы используете startActivityForResult(), я ожидаю и до сих пор испытывал, что даже когда действие уничтожается, оно будет создано снова для обработки результата. Кроме того, как вы ожидаете, что кнопка «Назад» будет работать? Он загружает даже уничтоженные действия...   -  person WarrenFaith    schedule 27.06.2014


Ответы (3)


Уничтожается действие или нет, определяется ОС Android и зависит не только от вашего устройства, но и от текущего использования памяти. Не так уж маловероятно, что ваши действия будут уничтожены быстрее на устройстве с меньшим объемом памяти или если есть другие приложения, потребляющие память (возможно, приложения, которые не будут уничтожены, потому что они являются частью модифицированной ОС от Sony). Это может произойти, особенно если ваша деятельность A сильно перегружена растровыми изображениями...

person Chris Conway    schedule 25.03.2013

Код, который я использовал для создания и отображения Activity B, следующий:

  legendButton.setOnClickListener(new OnClickListener() {
     @Override
     public void onClick(final View v) {
        final Intent intent = new Intent(MainActivity.this, LegendActivity.class);
        intent.putExtra(Constants.LEGEND, _legenditems);
        startActivity(intent);
     }
  });
person Eduardo    schedule 26.03.2013

Я наблюдаю ту же проблему с Sony Xperia Z. Моя активность вызова (A) вызывает родную камеру с намерением (используя startActivityForResult (..)). Я наблюдаю, что A уничтожается, и когда это делается с помощью камеры, onActivtyResult(..) of A вызывается.

Я все еще пытаюсь понять, как это исправить.

person araut    schedule 06.05.2013
comment
Вы все смогли? - person zezba9000; 27.06.2014
comment
Это было давно - насколько я помню, я использовал флаг, чтобы обойти эту проблему. - person araut; 28.06.2014