Android는 Activity 인스턴스를 하나만 엽니다.

1126 단어
한 Activity에서 startActivity () 를 여러 번 호출해서 다른 Activity를 시작합니다. Activity 실례를 하나만 생성하려면 두 가지 방법이 있습니다.방법1: 시동 모드를 설정하는데 하나의Activity는 네 가지 시동 모드가 있는데 그것이 바로 standard,singleTop,singleTask,singleInstance이다.standard: 표준 모드, startActivity () 방법을 호출하면 새로운 실례가 발생합니다.singleTop:Activity 창고의 맨 위에 이미 실례가 있으면 새로운 실례가 생기지 않고 Activity의 newInstance () 방법만 호출됩니다.스택 상단에 있지 않으면 새 인스턴스가 생성됩니다.singleTask: 새로운task에서 이 실례가 발생합니다. 앞으로 호출할 때마다 이것을 사용합니다. 새로운 실례가 생기지 않습니다.singleInstance: 이것은singleTask와 기본적으로 같다. 단지 하나의 차이점이 있다. 이 모델에서의Activity 실례가 있는task에는 이activity 실례만 있을 수 있고 다른 실례는 있을 수 없다.이 시작 모드는 기능 목록 파일에서 설정할 수 있습니다. 의launchMode 속성입니다.방법2: intent에 플래그 Intent를 붙입니다.FLAG_ACTIVITY_REORDER_TO_FRONT 이 로고는 이 activity가 시작되면 새로운 activity가 생기지 않고 이 activity 실례를 창고 위에 추가하면 된다고 표시합니다. 
Intent intent = new Intent(ReorderFour.this, ReorderTwo.class);   
intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);   
startActivity(intent);  

좋은 웹페이지 즐겨찾기