Middle+
გააზიარე Android-ის განვითარების ანტიპატერნებზე.
sobes.tech AI
პასუხი AI-სგან
- გრძელვადიანი ოპერაციებისათვის
AsyncTask-ის გამოყენება (კარგია Kotlin Coroutines ან RxJava-ს გამოყენება). - View/Context-ის გადაცემა ViewModel-ში (მოგვიანებით მეხსიერების ნაკადს გამოიწვევს).
- ძირითადი ლოგიკისთვის პირდაპირ
ActivityანFragment-დან მემკვიდრეობა (კარგია კომპოზიცია გამოყენება). - სტრინგების, ნომრების, ფერების მკაცრი კოდირება რესურსების გამოყენების ნაცვლად.
- მთავარი ნაკადის (
MainThread) დაბლოკვა გრძელვადიანი სინქრონული ოპერაციებით. - სტატიკური ცვლადების გამოყენება მონაცემების შენახვისთვის, რომლებიც სიცოცხლის ციკლს მოითხოვს.
- გადაჭარბებული შიგნიდან განლაგებების გამოყენება, რაც გავლენას ახდენს შესრულებაზე (
ConstraintLayoutანLinearLayoutwith weight უკეთესია). - კონფიგურაციის ცვლილებების (ეკრანის ბრუნვა, ენის შეცვლა) გაუმკლავება.
- UI ნაკადიდან პირდაპირ მონაცემთა ბაზებს ან ქსელურ ოპერაციებს წვდომა.
SharedPreferences-ის არასწორი გამოყენება დიდი ობიექტების ან კონფიდენციალურ მონაცემთა შენახვისთვის.- გამონაკლისების მართვის ან მისი არასწორი განხორციელება (მაგალითად, ცარიელი
catchბლოკები). - არაპირდაპირი ინტენციების გამოყენება შესაბამისი აქტივობების არსებობის შემოწმების გარეშე (
resolveActivity). - გამოწერების არასწორი მართვა (მაგალითად, RxJava-ში), რაც სითხის წარმოქმნას იწვევს.
მეტწილად შიგნიდან განლაგების მაგალითი:
<!-- ცუდი -->
<LinearLayout>
<LinearLayout>
<TextView/>
</LinearLayout>
</LinearLayout>
<!-- კარგი -->
<LinearLayout>
<TextView/>
</LinearLayout>