Junior
რომელი მეთოდები გაქვთ Activity-ის ციკლის ცხოვრებაში და როგორ ხორციელდება ისინი?
sobes.tech AI
პასუხი AI-სგან
onCreate(): აქტივობის პირველი შექმნისას გამოიძახება. გამოიყენება UI და მონაცემების ინიციალიზაციისთვის.onStart(): აქტივობა ხდება ხილული მომხმარებლისთვის.onResume(): აქტივობა ხდება აქტიური და მდებარეობს წინამხარის ფლანგზე. მომხმარებელი შეუძლია მასთან ურთიერთქმედება.onPause(): გამოიძახება, როდესაც აქტივობა გადადის უკანა ფლანგზე ან სხვა აქტივობა ნაწილობრივ მას აფარებს თავს. გამოიყენება მდგომარეობის შენახვისთვის, რომელიც სწრაფად შეიძლება აღდგეს.onStop(): აქტივობა აღარ ჩანს მომხმარებლისთვის. გამოიყენება არასაჭირო რესურსების გათავისუფლებისთვის.onDestroy(): გამოიძახება, როდესაც აქტივობა განადგურდება. გამოიყენება რესურსების საბოლოო გასუფთავებისთვის.onRestart(): გამოიძახებაonStop()-ის შემდეგ, როდესაც აქტივობა კვლავ ხილული ხდება.
შესრულების სერიის მეთოდების: onCreate() -> onStart() -> onResume().
პირდაპირი სერიის მეთოდების შესრულება, როდესაც გადადის უკანა ფლანგზე (მაგალითად, ღილაკის Home დაჭერით): onPause() -> onStop().
ფონიდან დაბრუნებისას: onRestart() -> onStart() -> onResume().
აქტივობის განადგურებისას: onPause() -> onStop() -> onDestroy().
ეკრანის ბრუნვისას, აქტივობა განადგურდება და თავიდან იქმნება. სერია: 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()
// აქტივობა ხდება ხილული
}
override fun onResume() {
super.onResume()
// აქტივობა წინამხარის ფლანგზეა, ხელმისაწვდომია ურთიერთქმედებისთვის
}
override fun onPause() {
super.onPause()
// აქტივობა გადადის უკანა ფლანგზე
// სწრაფად აღდგენის მდგომარეობის შენახვა
}
override fun onStop() {
super.onStop()
// აქტივობა აღარ ჩანს
// რესურსების გათავისუფლება
}
override fun onDestroy() {
super.onDestroy()
// აქტივობა განადგურდება
// საბოლოო რესურსების გასუფთავება
}
override fun onRestart() {
super.onRestart()
// აქტივობა უკან ბრუნდება
}
override fun onSaveInstanceState(outState: Bundle) {
super.onSaveInstanceState(outState)
// მდგომარეობის შენახვა განადგურებამდე
}
override fun onRestoreInstanceState(savedInstanceState: Bundle) {
super.onRestoreInstanceState(savedInstanceState)
// მდგომარეობის აღდგენა
}
}