Skip to content

Commit

Permalink
GitBook: [master] one page modified
Browse files Browse the repository at this point in the history
  • Loading branch information
yemreak authored and gitbook-bot committed Jan 15, 2020
1 parent 5c3e879 commit d3779dd
Showing 1 changed file with 33 additions and 10 deletions.
43 changes: 33 additions & 10 deletions arkaplan/asynctask-ve-asynctaskloader/asenkrona-giris.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,6 @@
* 🙋‍♂️ İşleri tamamlandığı zaman UI Thread'e dahil olurlar
***AsyncTask** veya **AsycnTaskLoader** yapıları kullanılır

## 🏷️ Etiketleme ile Asenkron

* 👷‍♂️ `@WorkerThread` gibi etiketlerle asenkron çalışması gereken metotlar tanımlanır
* 🦸‍♂️ Kod hakimiyetini artırmak için tercih edilir
* 📢 Thread işlemini otomatik olarak yapmaz, detaylar için [buraya](https://stackoverflow.com/a/33651589/9770490) bakabilirsin

{% hint style="info" %}
‍🧙‍♂ Detaylı bilgi için [Thread annotations](https://developer.android.com/studio/write/annotations#thread-annotations) alanına bakabilirsin.
{% endhint %}

## 🆚 İkisi Arasındaki Temel Farklar

Her ikisi de sistemi engellemeden çalışan bir yapıya sahiptir
Expand Down Expand Up @@ -51,6 +41,39 @@ Yaklaşık olarak 5s'den uzun süren işlemler "[application not responding](ht

![](../../.gitbook/assets/async_table.png)

## 🏷️ Etiketleme ile Asenkron

* 👷‍♂️ `@WorkerThread` gibi etiketlerle asenkron çalışması gereken metotlar tanımlanır
* 🦸‍♂️ Kod hakimiyetini artırmak için tercih edilir
* 📢 Thread işlemini otomatik olarak yapmaz, detaylar için [buraya](https://stackoverflow.com/a/33651589/9770490) bakabilirsin

{% hint style="info" %}
‍🧙‍♂ Detaylı bilgi için [Thread annotations](https://developer.android.com/studio/write/annotations#thread-annotations) alanına bakabilirsin.
{% endhint %}

## 🎃 Kotlin Coroutine

* 🕊️ Thread işlemlerini kolaylaştıran bir hafif yapıdır
* 👮‍♂️ Main \(UI\), IO, Default thread yapıları ile arka plan işlemlerini yönetirsiniz
* 💁‍♂️ AsyncTask kullanmaya gerek kalmaz
* `implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.1.1'` ile `build.gradle` dosyasına dahil etmen gerekmektedir

| 🧱 Dispatchers.Main | 🔣 Dispatchers.IO | 🎳 Dispatchers.Default |
| :--- | :--- | :--- |
| UI Thread işlemleri | Disk ve network işlemleri | CPU gerektiren işlemler |
| Fonksiyon çağırma | Database | Liste sıralama |
| View işlemleri | Dosya okuma & yazma | JSON parsing |
| LiveData işlemleri | Ağ işlemleri | DiffUtils |

{% hint style="info" %}
‍🧙‍♂ Detaylı bilgi için:

* [📈 Improve app performance with Kotlin coroutines](https://developer.android.com/kotlin/coroutines)
* [📖 Coroutines on Android \(part I\): Getting the background](https://medium.com/androiddevelopers/coroutines-on-android-part-i-getting-the-background-3e0e54d20bb)

alanlarına bakabilirsin.
{% endhint %}

## 🔗 Harici Bağlantılar

{% embed url="https://google-developer-training.github.io/android-developer-fundamentals-course-concepts-v2/unit-3-working-in-the-background/lesson-7-background-tasks/7-1-c-asynctask-and-asynctaskloader/7-1-c-asynctask-and-asynctaskloader.html" %}
Expand Down

0 comments on commit d3779dd

Please sign in to comment.