Junior
Ի՞նչ մեթոդներ եք ճանաչում Activity-ի կյանքի ցիկլից և ինչպես են դրանք կատարվում:
sobes.tech AI
Պատասխան AI-ից
onCreate(): Հրավիրում է Activity առաջին անգամ ստեղծելու ժամանակ: Օգտագործվում է UI և տվյալների սկզբնական կարգավորումների համար:onStart(): Activity դառնում է տեսանելի օգտագործողին:onResume(): Activity դառնում է ակտիվ և գտնվում է առաջի պլանում: Օգտագործողը կարող է փոխազդել դրա հետ:onPause(): Հրավիրում է, երբ Activity անցնում է հետևի պլան կամ մյուս Activity մասամբ փակվում է: Օգտագործվում է արագ վերականգնվող վիճակի պահպանման համար:onStop(): Activity այլևս չի երևում օգտագործողին: Օգտագործվում է անօգտագործվող ռեսուրսների ազատման համար:onDestroy(): Հրավիրում է, նախքան Activity կործանվի: Օգտագործվում է ռեսուրսների վերջնական մաքրման համար:onRestart(): Հրավիրում էonStop()-ից հետո, երբ Activity նորից դառնում է տեսանելի:
Սկսման ժամանակ մեթոդների կատարման հաջորդականությունը: onCreate() -> onStart() -> onResume():
Անցում հետևի պլան (օրինակ, Home կոճակին սեղմելու դեպքում): onPause() -> onStop():
Վերադառնալուց հետո ֆոնից: onRestart() -> onStart() -> onResume():
Activity- ի ոչնչացման ժամանակ: onPause() -> onStop() -> onDestroy():
Երբ էկրանը շրջվում է, Activity- ը ոչնչացվում և նորից ստեղծվում: Հետևյալ հաջորդականությունը: onPause() -> onStop() -> onDestroy() -> onCreate() -> onStart() -> onResume():
Կարգավիճակի պահպանման համար օգտագործվում է onSaveInstanceState() (կոչվում է onStop()-ից առաջ) և վերականգնում onCreate() կամ onRestoreInstanceState()-ում (կոչվում է onStart()-ից հետո):
class MyActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main) // UI-ի սկզբնական կարգավորումներ
// Կարգավիճակի վերականգնում savedInstanceState-ից
}
override fun onStart() {
super.onStart()
// Activity դառնում է տեսանելի
}
override fun onResume() {
super.onResume()
// Activity- ն առաջի պլանում է, հասանելի փոխազդեցության համար
}
override fun onPause() {
super.onPause()
// Activity անցնում է հետևի պլան
// Արագ վերականգնվող վիճակի պահպանում
}
override fun onStop() {
super.onStop()
// Activity այլևս չի երևում
// ռեսուրսների ազատում
}
override fun onDestroy() {
super.onDestroy()
// Activity ոչնչացվում է
// Վերջնական մաքառում ռեսուրսների
}
override fun onRestart() {
super.onRestart()
// Activity վերադառնում է ֆոնից
}
override fun onSaveInstanceState(outState: Bundle) {
super.onSaveInstanceState(outState)
// Կարգավիճակի պահպանում նախքան ոչնչացումը
}
override fun onRestoreInstanceState(savedInstanceState: Bundle) {
super.onRestoreInstanceState(savedInstanceState)
// Կարգավիճակի վերականգնում
}
}