在三星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);
}
}
在使用和不使用FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET的情况下比较测试运行的LogCat时,我注意到以下差异。
使用FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET
... INFO / SurfaceFlinger(223):id = 71删除了com.zappware.test / com.zappware.test.TestActivity1 idx = 2 Map Size = 3
没有FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET
... INFO / SurfaceFlinger(223):id = 75删除了com.zappware.test / com.zappware.test.TestActivity1 idx = 3 Map Size = 3
也许这会有所帮助?