android는 Activity 인스턴스만 만듭니다.

1038 단어 Activity
한 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);

좋은 웹페이지 즐겨찾기