JavaveAndroidHakkında

Android Yazılım geliştirme konusunda sürekli bilgi akışı sağlayan, soru-cevaplar ile öğrenme gerçekleştirmeyi amaçlayan bir eğitim süreci planlıyoruz.

14 Mart 2015 Cumartesi

Android-ActivityLifeCycleYönetimi-BirActivityDurdurmakVeYenidenBaşlatmak

23:47

Bir Activity Durdurmak ve Yeniden Başlatmak


                Düzenli bir durdurma ve yeniden başlatma işlemi kullanıcın activity’nize geri döndüğünde sürekli aktif ve kullanıcı bilgilerinin korunması için önemli bir işlem sürecidir. Activity’nizin durdurulup yeniden başlatılmaya ihtiyaç duyacağı birkaç senaryodan bazıları aşağıdaki gibi olabilir.
·         Kullanıcı Recent Apps( son kullanılan Uygulamalar) menüsünü açıp farklı uygulamalara geçiş yapabilir. Bu durumda uygulamanızın ekranda bulunan activity örneği durdurulur. Kullanıcı ana ekranda yer alan bulunan uygulama ikonunuza dokunduğunda veya Recent Apps penceresinden geri geldiğinde activity yeniden başlatılır.
·         Kullanıcı uygulamanız içinden yeni bir activity başlatacak bir işlem gerçekleştirdiğinde mevcut activity durdurulur ve diğer activity başlatılır. Kullanıcı back butonun bastığında ilk activity tekrar başlatılır.
·         Kullanıcı uygulamanızı kullandığı anda bir çağrı alınca…

Activity sınıfı, uygulamanızın durdurulması ve yeniden başlatılması gibi durumlarda uygulamanızın nasıl davranacağına karar vermek için onStop() ve onRestart() gibi iki yaşam döngüsü metodu tanımlar. Paused durumdan farklı olarak, (kısmen UI arka plana itildiği durum olarak tanımlanan) stopped durum UI nin tamamen arka plana atılmasını ve hiçbir şekilde görünmemesini garanti ederek activity den kullanıcının dikkatini tamamen keser.

NOT:
Sistem Activityniz stopped duruma geçtiğinde bu activitynin bir örneğini bellekte sakladığı için, onStop() veya onRestart() metodunu uygulamanıza gerek kalmaz. Hatta onStart() metodunu bile uygulamanız gerekmeyebilir. Birçok activity nispeten basittirler ve çok rahat bir şekilde durdurulup başlatılabilirler ve size sadece süregelen işlemleri durdurmak için onPause() metodunu kullanmak kalır.



     Kullanıcı activity’nizden ayrıldığında, sistem onStop() metodunu çağırarak activity i durdurur(1). Activity durdurulduğunda kullanıcı geri gelirse, sistem onRestart()(2) metodunu çağırır ve bunu hızlıca onStart()(3) ve onResume()(4) metodu takip eder. Dikkat etmeniz gereken asıl konu ise ne türlü bir senaryo gerçekleşecek olursa olsun, sistem onStop() metodundan evvel onPause() metodunu çağırır.

Activity Durdurmak


                Activity’niz onStop() metodunu çağırdığında, bu demek oluyor ki artık bu activity daha fazla görünmeyecek ve kullanıcının ihtiyaç duymadığı ne kadar kaynak var ise serbest bırakılacak demektir. Activity’niz durdurulduğunda, sistem kaynağına ihtiyaç var ise bu activity örneği yok edilecektir. Diğer bellek gerektiren ekstra durumlarda, sistem uygulamanızı onDestroy() metodunu çağırmaya ihtiyaç duymadan sonlandırabilir. Bu nedenle onStop() metodunu kullanmanızdaki en büyük fayda sistemin bu yola başvurmadan evvel sizin sistem kaynaklarını serbest bırakmanızdır.
                onPause() metodu onStop() metodundan evvel çağırılmasına rağmen, aşırı sistem kaynağını tüketen işlemleri sonlandırmak için onStop() metodunu kullanmanız her zaman daha verimli bir işlem olacaktır.

                Aşağıdaki örnekte, onStop() metodunun bir uygulaması görülmektedir. Bu uygulama ile geçici belleği not defterinde tutulan kayıtların kaydedilme işlemi icra ediliyor.

ÖRNEK:
@Override
protected void onStop() {
    super.onStop();  // Always call the superclass method first

    // Save the note's current draft, because the activity is stopping
    // and we want to be sure the current note progress isn't lost.
    ContentValues values = new ContentValues();
    values.put(NotePad.Notes.COLUMN_NAME_NOTE, getCurrentNoteText());
    values.put(NotePad.Notes.COLUMN_NAME_TITLE, getCurrentNoteTitle());

    getContentResolver().update(
            mUri,    // The URI for the note to update.
            values,  // The map of column names and new values to apply to them.
            null,    // No SELECT criteria are used.
            null     // No WHERE columns are used.
            );
}

                Activity’niz durdurulduğunda, Activity nesnesi bellekte bir yer tutar ve yeniden çağırıldığında activity devam eder. Bu süreç içerisinde uygulamanızın bileşenlerini yeniden hazırlamanız gerekmemektedir. Sistem ayrıca mevcut duruma ait her bir View’in izini de saklar. Böylece kullanıcı EditText öğesine bir veri girişi yaptığında bu otomatik olarak, sizin herhangi bir saklama prosedürü uygulamanıza gerek kalmadan saklanır.

NOT:
Stopped durumda sistem activity’nizin yok etse bile, bu activitye ait View nesnelerinin durumlarını Bundle içerisinde korur ve kullanıcı aynı activity örneğine geri döndüğünde UI nin son haliyle uygulama çalışmaya devam eder. ( Bir sonraki konuda Bundle hakkında daha detaylı bilgi aktaracağız)

Bir Activity’nin Başlatılması/Yeniden Başlatılması


                Activityniz Stopped durumdan tekrar ön plana geldiğinde, onRestart() metoduna geçer. Ayrıca sistem, activityniz her ön plana geldiğinde olduğu gibi onStart() metodunu da çağırır. onRestart() metodu sadece activity stopped durumdan devam ederken çağırılır. Böylece öncelikle stopped duruma geçen uygulamanız için bazı özel restorasyonları gerçekleştirme imkânı elde etmiş olursunuz.
                Uygulamanın activity durumunu onRestart() metodu ile restore etmesi aslında çok yaygın bir kullanım değildir. Çünkü genel uygulama dünyasında bu tarz bir yönetime pek ihtiyaç duyulmamaktadır. onStop() metodu activitynizin kullandığı tüm kaynakları temizlemek için uygulanmalıdır. Ancak bu işlem sonrası Activity yeniden çağırıldığında durdurduğunuz tüm işlemleri yeniden hazırlamanız gerekecektir. Bunun yanında Activity’niz yeniden oluşturulduğu durumlarda da bu hazırlıkları yapmanız gerekcektir.( hiçbir şekilde activity örneğinizin olmadığı durum). Bu nedenle, onStop() metoduna karşılık olarak her zaman onStart() metodunu kullanmalısınız. Böylece hem onRestart() metodunu hem de onStart() metodunu kullanmak durumunda kalmamış olursunuz. Çünkü sistem yukarıda bahsettiğimiz gibi activitye dönüldüğü anda, onStart() metdounu her iki durumda da çağıracaktır.

Kullanıcı uygulamanızdan uzun süreliğine ayrıldığında, uygulamanıza geri dönmeden evvel onStart() metodu gerekli sistem ihtiyaçlarını ve özelliklerini doğrulamak için doğru metot olacaktır.

ÖRNEK:
@Override
protected void onStart() {
   
super.onStart();  // Always call the superclass method first
   
   
// The activity is either being restarted or started for the first time
   
// so this is where we should make sure that GPS is enabled
   
LocationManager locationManager =
           
(LocationManager) getSystemService(Context.LOCATION_SERVICE);
   
boolean gpsEnabled = locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER);
   
   
if (!gpsEnabled) {
       
// Create a dialog here that requests the user to enable GPS, and use an intent
       
// with the android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS action
       
// to take the user to the Settings screen to enable GPS when they click "OK"
   
}
}

@Override
protected void onRestart() {
   
super.onRestart();  // Always call the superclass method first
   
   
// Activity being restarted from stopped state    
}

Sistem activitynizi yok ettiğinde, Activity için onDestroy() metodunu çağırır. onDestroy() metodunun çağırılmasına ihtiyaç kalmıyor, çünkü genellikle uygulamanızın kullanmış olduğu birçok sistem kaynaklarının onStop() metodunda durdurulması gerekmektedir. Fakat bu metot sistem kaynaklarının gereksiz kullanımını durdurmak için son şansınız demektir. Bu metot ile en son durdurmak isteyeceğiniz işlemleri tanımlamanız cihaz sistem kaynakları için çok önemlidir. Bunun üzerinde durmamızın sebebi uygulamanızın çalışma performansını ve kullanıcı deneyimin yüksek düzeyde tutmayı amaçlamamızdır.


Soru ve Görüşleriniz için: AndroidVeJava

14 Mart 2015 Cumartesi

Android-ActivityLifeCycleYönetimi-BirActivityDurdurmakVeYenidenBaşlatmak

Bir Activity Durdurmak ve Yeniden Başlatmak


                Düzenli bir durdurma ve yeniden başlatma işlemi kullanıcın activity’nize geri döndüğünde sürekli aktif ve kullanıcı bilgilerinin korunması için önemli bir işlem sürecidir. Activity’nizin durdurulup yeniden başlatılmaya ihtiyaç duyacağı birkaç senaryodan bazıları aşağıdaki gibi olabilir.
·         Kullanıcı Recent Apps( son kullanılan Uygulamalar) menüsünü açıp farklı uygulamalara geçiş yapabilir. Bu durumda uygulamanızın ekranda bulunan activity örneği durdurulur. Kullanıcı ana ekranda yer alan bulunan uygulama ikonunuza dokunduğunda veya Recent Apps penceresinden geri geldiğinde activity yeniden başlatılır.
·         Kullanıcı uygulamanız içinden yeni bir activity başlatacak bir işlem gerçekleştirdiğinde mevcut activity durdurulur ve diğer activity başlatılır. Kullanıcı back butonun bastığında ilk activity tekrar başlatılır.
·         Kullanıcı uygulamanızı kullandığı anda bir çağrı alınca…

Activity sınıfı, uygulamanızın durdurulması ve yeniden başlatılması gibi durumlarda uygulamanızın nasıl davranacağına karar vermek için onStop() ve onRestart() gibi iki yaşam döngüsü metodu tanımlar. Paused durumdan farklı olarak, (kısmen UI arka plana itildiği durum olarak tanımlanan) stopped durum UI nin tamamen arka plana atılmasını ve hiçbir şekilde görünmemesini garanti ederek activity den kullanıcının dikkatini tamamen keser.

NOT:
Sistem Activityniz stopped duruma geçtiğinde bu activitynin bir örneğini bellekte sakladığı için, onStop() veya onRestart() metodunu uygulamanıza gerek kalmaz. Hatta onStart() metodunu bile uygulamanız gerekmeyebilir. Birçok activity nispeten basittirler ve çok rahat bir şekilde durdurulup başlatılabilirler ve size sadece süregelen işlemleri durdurmak için onPause() metodunu kullanmak kalır.



     Kullanıcı activity’nizden ayrıldığında, sistem onStop() metodunu çağırarak activity i durdurur(1). Activity durdurulduğunda kullanıcı geri gelirse, sistem onRestart()(2) metodunu çağırır ve bunu hızlıca onStart()(3) ve onResume()(4) metodu takip eder. Dikkat etmeniz gereken asıl konu ise ne türlü bir senaryo gerçekleşecek olursa olsun, sistem onStop() metodundan evvel onPause() metodunu çağırır.

Activity Durdurmak


                Activity’niz onStop() metodunu çağırdığında, bu demek oluyor ki artık bu activity daha fazla görünmeyecek ve kullanıcının ihtiyaç duymadığı ne kadar kaynak var ise serbest bırakılacak demektir. Activity’niz durdurulduğunda, sistem kaynağına ihtiyaç var ise bu activity örneği yok edilecektir. Diğer bellek gerektiren ekstra durumlarda, sistem uygulamanızı onDestroy() metodunu çağırmaya ihtiyaç duymadan sonlandırabilir. Bu nedenle onStop() metodunu kullanmanızdaki en büyük fayda sistemin bu yola başvurmadan evvel sizin sistem kaynaklarını serbest bırakmanızdır.
                onPause() metodu onStop() metodundan evvel çağırılmasına rağmen, aşırı sistem kaynağını tüketen işlemleri sonlandırmak için onStop() metodunu kullanmanız her zaman daha verimli bir işlem olacaktır.

                Aşağıdaki örnekte, onStop() metodunun bir uygulaması görülmektedir. Bu uygulama ile geçici belleği not defterinde tutulan kayıtların kaydedilme işlemi icra ediliyor.

ÖRNEK:
@Override
protected void onStop() {
    super.onStop();  // Always call the superclass method first

    // Save the note's current draft, because the activity is stopping
    // and we want to be sure the current note progress isn't lost.
    ContentValues values = new ContentValues();
    values.put(NotePad.Notes.COLUMN_NAME_NOTE, getCurrentNoteText());
    values.put(NotePad.Notes.COLUMN_NAME_TITLE, getCurrentNoteTitle());

    getContentResolver().update(
            mUri,    // The URI for the note to update.
            values,  // The map of column names and new values to apply to them.
            null,    // No SELECT criteria are used.
            null     // No WHERE columns are used.
            );
}

                Activity’niz durdurulduğunda, Activity nesnesi bellekte bir yer tutar ve yeniden çağırıldığında activity devam eder. Bu süreç içerisinde uygulamanızın bileşenlerini yeniden hazırlamanız gerekmemektedir. Sistem ayrıca mevcut duruma ait her bir View’in izini de saklar. Böylece kullanıcı EditText öğesine bir veri girişi yaptığında bu otomatik olarak, sizin herhangi bir saklama prosedürü uygulamanıza gerek kalmadan saklanır.

NOT:
Stopped durumda sistem activity’nizin yok etse bile, bu activitye ait View nesnelerinin durumlarını Bundle içerisinde korur ve kullanıcı aynı activity örneğine geri döndüğünde UI nin son haliyle uygulama çalışmaya devam eder. ( Bir sonraki konuda Bundle hakkında daha detaylı bilgi aktaracağız)

Bir Activity’nin Başlatılması/Yeniden Başlatılması


                Activityniz Stopped durumdan tekrar ön plana geldiğinde, onRestart() metoduna geçer. Ayrıca sistem, activityniz her ön plana geldiğinde olduğu gibi onStart() metodunu da çağırır. onRestart() metodu sadece activity stopped durumdan devam ederken çağırılır. Böylece öncelikle stopped duruma geçen uygulamanız için bazı özel restorasyonları gerçekleştirme imkânı elde etmiş olursunuz.
                Uygulamanın activity durumunu onRestart() metodu ile restore etmesi aslında çok yaygın bir kullanım değildir. Çünkü genel uygulama dünyasında bu tarz bir yönetime pek ihtiyaç duyulmamaktadır. onStop() metodu activitynizin kullandığı tüm kaynakları temizlemek için uygulanmalıdır. Ancak bu işlem sonrası Activity yeniden çağırıldığında durdurduğunuz tüm işlemleri yeniden hazırlamanız gerekecektir. Bunun yanında Activity’niz yeniden oluşturulduğu durumlarda da bu hazırlıkları yapmanız gerekcektir.( hiçbir şekilde activity örneğinizin olmadığı durum). Bu nedenle, onStop() metoduna karşılık olarak her zaman onStart() metodunu kullanmalısınız. Böylece hem onRestart() metodunu hem de onStart() metodunu kullanmak durumunda kalmamış olursunuz. Çünkü sistem yukarıda bahsettiğimiz gibi activitye dönüldüğü anda, onStart() metdounu her iki durumda da çağıracaktır.

Kullanıcı uygulamanızdan uzun süreliğine ayrıldığında, uygulamanıza geri dönmeden evvel onStart() metodu gerekli sistem ihtiyaçlarını ve özelliklerini doğrulamak için doğru metot olacaktır.

ÖRNEK:
@Override
protected void onStart() {
   
super.onStart();  // Always call the superclass method first
   
   
// The activity is either being restarted or started for the first time
   
// so this is where we should make sure that GPS is enabled
   
LocationManager locationManager =
           
(LocationManager) getSystemService(Context.LOCATION_SERVICE);
   
boolean gpsEnabled = locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER);
   
   
if (!gpsEnabled) {
       
// Create a dialog here that requests the user to enable GPS, and use an intent
       
// with the android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS action
       
// to take the user to the Settings screen to enable GPS when they click "OK"
   
}
}

@Override
protected void onRestart() {
   
super.onRestart();  // Always call the superclass method first
   
   
// Activity being restarted from stopped state    
}

Sistem activitynizi yok ettiğinde, Activity için onDestroy() metodunu çağırır. onDestroy() metodunun çağırılmasına ihtiyaç kalmıyor, çünkü genellikle uygulamanızın kullanmış olduğu birçok sistem kaynaklarının onStop() metodunda durdurulması gerekmektedir. Fakat bu metot sistem kaynaklarının gereksiz kullanımını durdurmak için son şansınız demektir. Bu metot ile en son durdurmak isteyeceğiniz işlemleri tanımlamanız cihaz sistem kaynakları için çok önemlidir. Bunun üzerinde durmamızın sebebi uygulamanızın çalışma performansını ve kullanıcı deneyimin yüksek düzeyde tutmayı amaçlamamızdır.


Soru ve Görüşleriniz için: AndroidVeJava

14 Mart 2015 Cumartesi

Android-ActivityLifeCycleYönetimi-BirActivityDurdurmakVeYenidenBaşlatmak

Bir Activity Durdurmak ve Yeniden Başlatmak


                Düzenli bir durdurma ve yeniden başlatma işlemi kullanıcın activity’nize geri döndüğünde sürekli aktif ve kullanıcı bilgilerinin korunması için önemli bir işlem sürecidir. Activity’nizin durdurulup yeniden başlatılmaya ihtiyaç duyacağı birkaç senaryodan bazıları aşağıdaki gibi olabilir.
·         Kullanıcı Recent Apps( son kullanılan Uygulamalar) menüsünü açıp farklı uygulamalara geçiş yapabilir. Bu durumda uygulamanızın ekranda bulunan activity örneği durdurulur. Kullanıcı ana ekranda yer alan bulunan uygulama ikonunuza dokunduğunda veya Recent Apps penceresinden geri geldiğinde activity yeniden başlatılır.
·         Kullanıcı uygulamanız içinden yeni bir activity başlatacak bir işlem gerçekleştirdiğinde mevcut activity durdurulur ve diğer activity başlatılır. Kullanıcı back butonun bastığında ilk activity tekrar başlatılır.
·         Kullanıcı uygulamanızı kullandığı anda bir çağrı alınca…

Activity sınıfı, uygulamanızın durdurulması ve yeniden başlatılması gibi durumlarda uygulamanızın nasıl davranacağına karar vermek için onStop() ve onRestart() gibi iki yaşam döngüsü metodu tanımlar. Paused durumdan farklı olarak, (kısmen UI arka plana itildiği durum olarak tanımlanan) stopped durum UI nin tamamen arka plana atılmasını ve hiçbir şekilde görünmemesini garanti ederek activity den kullanıcının dikkatini tamamen keser.

NOT:
Sistem Activityniz stopped duruma geçtiğinde bu activitynin bir örneğini bellekte sakladığı için, onStop() veya onRestart() metodunu uygulamanıza gerek kalmaz. Hatta onStart() metodunu bile uygulamanız gerekmeyebilir. Birçok activity nispeten basittirler ve çok rahat bir şekilde durdurulup başlatılabilirler ve size sadece süregelen işlemleri durdurmak için onPause() metodunu kullanmak kalır.



     Kullanıcı activity’nizden ayrıldığında, sistem onStop() metodunu çağırarak activity i durdurur(1). Activity durdurulduğunda kullanıcı geri gelirse, sistem onRestart()(2) metodunu çağırır ve bunu hızlıca onStart()(3) ve onResume()(4) metodu takip eder. Dikkat etmeniz gereken asıl konu ise ne türlü bir senaryo gerçekleşecek olursa olsun, sistem onStop() metodundan evvel onPause() metodunu çağırır.

Activity Durdurmak


                Activity’niz onStop() metodunu çağırdığında, bu demek oluyor ki artık bu activity daha fazla görünmeyecek ve kullanıcının ihtiyaç duymadığı ne kadar kaynak var ise serbest bırakılacak demektir. Activity’niz durdurulduğunda, sistem kaynağına ihtiyaç var ise bu activity örneği yok edilecektir. Diğer bellek gerektiren ekstra durumlarda, sistem uygulamanızı onDestroy() metodunu çağırmaya ihtiyaç duymadan sonlandırabilir. Bu nedenle onStop() metodunu kullanmanızdaki en büyük fayda sistemin bu yola başvurmadan evvel sizin sistem kaynaklarını serbest bırakmanızdır.
                onPause() metodu onStop() metodundan evvel çağırılmasına rağmen, aşırı sistem kaynağını tüketen işlemleri sonlandırmak için onStop() metodunu kullanmanız her zaman daha verimli bir işlem olacaktır.

                Aşağıdaki örnekte, onStop() metodunun bir uygulaması görülmektedir. Bu uygulama ile geçici belleği not defterinde tutulan kayıtların kaydedilme işlemi icra ediliyor.

ÖRNEK:
@Override
protected void onStop() {
    super.onStop();  // Always call the superclass method first

    // Save the note's current draft, because the activity is stopping
    // and we want to be sure the current note progress isn't lost.
    ContentValues values = new ContentValues();
    values.put(NotePad.Notes.COLUMN_NAME_NOTE, getCurrentNoteText());
    values.put(NotePad.Notes.COLUMN_NAME_TITLE, getCurrentNoteTitle());

    getContentResolver().update(
            mUri,    // The URI for the note to update.
            values,  // The map of column names and new values to apply to them.
            null,    // No SELECT criteria are used.
            null     // No WHERE columns are used.
            );
}

                Activity’niz durdurulduğunda, Activity nesnesi bellekte bir yer tutar ve yeniden çağırıldığında activity devam eder. Bu süreç içerisinde uygulamanızın bileşenlerini yeniden hazırlamanız gerekmemektedir. Sistem ayrıca mevcut duruma ait her bir View’in izini de saklar. Böylece kullanıcı EditText öğesine bir veri girişi yaptığında bu otomatik olarak, sizin herhangi bir saklama prosedürü uygulamanıza gerek kalmadan saklanır.

NOT:
Stopped durumda sistem activity’nizin yok etse bile, bu activitye ait View nesnelerinin durumlarını Bundle içerisinde korur ve kullanıcı aynı activity örneğine geri döndüğünde UI nin son haliyle uygulama çalışmaya devam eder. ( Bir sonraki konuda Bundle hakkında daha detaylı bilgi aktaracağız)

Bir Activity’nin Başlatılması/Yeniden Başlatılması


                Activityniz Stopped durumdan tekrar ön plana geldiğinde, onRestart() metoduna geçer. Ayrıca sistem, activityniz her ön plana geldiğinde olduğu gibi onStart() metodunu da çağırır. onRestart() metodu sadece activity stopped durumdan devam ederken çağırılır. Böylece öncelikle stopped duruma geçen uygulamanız için bazı özel restorasyonları gerçekleştirme imkânı elde etmiş olursunuz.
                Uygulamanın activity durumunu onRestart() metodu ile restore etmesi aslında çok yaygın bir kullanım değildir. Çünkü genel uygulama dünyasında bu tarz bir yönetime pek ihtiyaç duyulmamaktadır. onStop() metodu activitynizin kullandığı tüm kaynakları temizlemek için uygulanmalıdır. Ancak bu işlem sonrası Activity yeniden çağırıldığında durdurduğunuz tüm işlemleri yeniden hazırlamanız gerekecektir. Bunun yanında Activity’niz yeniden oluşturulduğu durumlarda da bu hazırlıkları yapmanız gerekcektir.( hiçbir şekilde activity örneğinizin olmadığı durum). Bu nedenle, onStop() metoduna karşılık olarak her zaman onStart() metodunu kullanmalısınız. Böylece hem onRestart() metodunu hem de onStart() metodunu kullanmak durumunda kalmamış olursunuz. Çünkü sistem yukarıda bahsettiğimiz gibi activitye dönüldüğü anda, onStart() metdounu her iki durumda da çağıracaktır.

Kullanıcı uygulamanızdan uzun süreliğine ayrıldığında, uygulamanıza geri dönmeden evvel onStart() metodu gerekli sistem ihtiyaçlarını ve özelliklerini doğrulamak için doğru metot olacaktır.

ÖRNEK:
@Override
protected void onStart() {
   
super.onStart();  // Always call the superclass method first
   
   
// The activity is either being restarted or started for the first time
   
// so this is where we should make sure that GPS is enabled
   
LocationManager locationManager =
           
(LocationManager) getSystemService(Context.LOCATION_SERVICE);
   
boolean gpsEnabled = locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER);
   
   
if (!gpsEnabled) {
       
// Create a dialog here that requests the user to enable GPS, and use an intent
       
// with the android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS action
       
// to take the user to the Settings screen to enable GPS when they click "OK"
   
}
}

@Override
protected void onRestart() {
   
super.onRestart();  // Always call the superclass method first
   
   
// Activity being restarted from stopped state    
}

Sistem activitynizi yok ettiğinde, Activity için onDestroy() metodunu çağırır. onDestroy() metodunun çağırılmasına ihtiyaç kalmıyor, çünkü genellikle uygulamanızın kullanmış olduğu birçok sistem kaynaklarının onStop() metodunda durdurulması gerekmektedir. Fakat bu metot sistem kaynaklarının gereksiz kullanımını durdurmak için son şansınız demektir. Bu metot ile en son durdurmak isteyeceğiniz işlemleri tanımlamanız cihaz sistem kaynakları için çok önemlidir. Bunun üzerinde durmamızın sebebi uygulamanızın çalışma performansını ve kullanıcı deneyimin yüksek düzeyde tutmayı amaçlamamızdır.


Soru ve Görüşleriniz için: AndroidVeJava