При запуске новой операции фон главного экрана виден в течение доли секунды - PullRequest
0 голосов
/ 02 января 2012

При выполнении нижеприведенного тривиального теста на Samsung Galaxy Tab 10.1 "(Android 3.1) я вижу короткую вспышку фона домашнего экрана перед запуском TestActivity2.

этой вспышки не видно
- при работе без FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET
- при работе на Galaxy Tab 7 "под управлением Android 2.3

Есть идеи, что вызывает эту вспышку и как я могу ее избежать?

public class TestActivity1 extends Activity
{
  protected void onCreate(Bundle savedInstanceState)
  {
    super.onCreate(savedInstanceState);
    TextView t = new TextView(this);
    t.setText("TestActivity1");
    t.setOnClickListener(new View.OnClickListener()
    {

      @Override
      public void onClick(View v)
      {
        //start TestActivity2
        Intent intent = new Intent(getApplicationContext(), TestActivity2.class);           
        intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
        startActivity(intent);          
      }
    });
    setContentView(t);
  }

}

При сравнении LogCat тестового прогона с FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET и без него я заметил следующую разницу.

С FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET

... INFO / SurfaceFlinger (223): id = 71 Удалено com.zappware.test / com.zappware.test.TestActivity1 idx = 2 Размер карты = 3

Без FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET

... INFO / SurfaceFlinger (223): id = 75 Удалено com.zappware.test / com.zappware.test.TestActivity1 idx = 3 Размер карты = 3

Может быть, это может помочь?

1 Ответ

0 голосов
/ 04 января 2012

Ну, вы чистите стек, так что, возможно, именно поэтому это происходит.Могу ли я предложить отключить поведение кнопки "Назад"?

http://android -developers.blogspot.com / 2009/12 / back-and-other-hard-keys-three-Stories.html

Редактировать:

Я думал о чем-то вроде этого.Начиная с 2.0 вы можете сделать это:

@Override
public void onBackPressed() {
Intent intent = new Intent(getApplicationContext(), MyActivity.class);
startActivity(intent);
}
...