Xamarin.Forms Perender Cepat
Secara tradisional, sebagian besar perender kontrol asli di Android terdiri dari dua tampilan:
- Kontrol asli, seperti
Button
atauTextView
. - Kontainer
ViewGroup
yang menangani beberapa pekerjaan tata letak, penanganan gerakan, dan tugas lainnya.
Namun, pendekatan ini memiliki implikasi performa dalam dua tampilan yang dibuat untuk setiap kontrol logis, yang menghasilkan pohon visual yang lebih kompleks yang membutuhkan lebih banyak memori, dan lebih banyak pemrosesan untuk dirender di layar.
Perender cepat mengurangi inflasi dan merender biaya Xamarin.Forms kontrol menjadi satu tampilan. Oleh karena itu, alih-alih membuat dua tampilan dan menambahkannya ke pohon tampilan, hanya satu yang dibuat. Ini meningkatkan performa dengan membuat lebih sedikit objek, yang pada gilirannya berarti pohon tampilan yang kurang kompleks, dan penggunaan memori yang lebih sedikit (yang juga menghasilkan jeda pengumpulan sampah yang lebih sedikit).
Perender cepat tersedia untuk kontrol berikut di Xamarin.Forms Android:
Secara fungsional, perender cepat ini tidak berbeda dengan penyaji warisan. Dari Xamarin.Forms 4.0 dan seterusnya, semua aplikasi yang menargetkan FormsAppCompatActivity
akan menggunakan perender cepat ini secara default. Perender untuk semua kontrol baru, termasuk ImageButton
dan CollectionView
, gunakan pendekatan perender cepat.
Peningkatan performa saat menggunakan perender cepat akan bervariasi untuk setiap aplikasi, tergantung pada kompleksitas tata letak. Misalnya, peningkatan performa x2 dimungkinkan saat menggulir ribuan ListView
baris data yang berisi, di mana sel di setiap baris terbuat dari kontrol yang menggunakan perender cepat, yang menghasilkan pengguliran yang terlihat lebih halus.
Catatan
Perender kustom dapat dibuat untuk perender cepat menggunakan pendekatan yang sama seperti yang digunakan untuk penyaji warisan. Untuk informasi selengkapnya, lihat Perender Kustom.
Perender cepat dapat ditimpa dengan pendekatan berikut:
Mengaktifkan perender warisan dengan menambahkan baris kode berikut ke kelas Anda
MainActivity
sebelum memanggilForms.Init
:C#Forms.SetFlags("UseLegacyRenderers");
Menggunakan perender kustom yang menargetkan perender warisan. Setiap perender kustom yang ada akan terus berfungsi dengan perender warisan.
Menentukan yang berbeda
View.Visual
, sepertiMaterial
, yang menggunakan perender yang berbeda. Untuk informasi selengkapnya tentang Visual Material, lihat Xamarin.Forms Visual Material.