রাখার নিয়মগুলির সাথে কাজ করার সময়, আপনার অ্যাপের আচরণ বজায় রাখার সময় আপনি সুবিধাগুলি দেখতে পাচ্ছেন তা নিশ্চিত করতে সঠিক পরিমাণে নির্দিষ্টতা পৌঁছানো গুরুত্বপূর্ণ। ভাল প্যাটার্ন সম্পর্কে জানতে এবং নিয়মগুলি এড়ানোর জন্য জিনিসগুলি সম্পর্কে জানতে নিম্নলিখিত বিভাগগুলি দেখুন।
রাখা নিয়ম ভাল নিদর্শন
সু-সংজ্ঞায়িত রাখা নিয়ম যতটা সম্ভব নির্দিষ্ট:
ক্লাস স্পেসিফিকেশনের জন্য, সর্বদা একটি নির্দিষ্ট শ্রেণী, বেস ক্লাস, বা যদি সম্ভব হয় টীকাযুক্ত শ্রেণী উল্লেখ করুন, যেমনটি নিম্নলিখিত উদাহরণে দেখানো হয়েছে:
-keepclassmembers class com.example.MyClass { void someSpecificMethod(); }
-keepclassmembers ** extends com.example.MyBaseClass { void someSpecificMethod(); }
-keepclassmembers @com.example.MyAnnotation class ** { void someSpecificMethod(); }
যখনই সম্ভব, সদস্য স্পেসিফিকেশন ঘোষণা করা উচিত, এবং শুধুমাত্র ক্লাসের অংশগুলি উল্লেখ করা উচিত যা অ্যাপটি কাজ করার জন্য রাখা আবশ্যক। ঐচ্ছিক সদস্য সুযোগকে
{ *; }
কঠোরভাবে প্রয়োজন না হলে।-keepclassmembers com.example.MyClass { void someSpecificMethod(); void @com.example.MyAnnotation *; }
আপনি যদি এই নির্দেশিকাগুলি মেনে চলতে না পারেন, তাহলে আপনি অস্থায়ীভাবে কোডটি আলাদা করতে পারেন যা একটি ডেডিকেটেড প্যাকেজে রাখতে হবে এবং প্যাকেজে আপনার রাখার নিয়ম প্রয়োগ করতে পারেন৷ যাইহোক, এটি দীর্ঘমেয়াদী জন্য একটি সমাধান নয়। আরও জানতে, ক্রমবর্ধমানভাবে অপ্টিমাইজেশন গ্রহণ করুন দেখুন। একটি প্যাকেজের জন্য একটি Keep নিয়ম ব্যবহার করতে নিম্নলিখিত উদাহরণে দেখানো হিসাবে একটি Keep নিয়ম সংজ্ঞায়িত করুন:
-keepclassmembers class com.example.pkg.** { *; }
এড়িয়ে চলার জিনিস
Keep রুল সিনট্যাক্সে অনেকগুলি বিকল্প রয়েছে, কিন্তু পরিমাপযোগ্য টেকসই কর্মক্ষমতা সুবিধার জন্য আমরা নিম্নলিখিতগুলি ব্যবহার না করার পরামর্শ দিই:
- ইনভার্সন অপারেটর ব্যবহার এড়িয়ে চলুন
!
নিয়ম রাখুন কারণ আপনি অনিচ্ছাকৃতভাবে আপনার আবেদনের প্রায় প্রতিটি ক্লাসে একটি নিয়ম প্রয়োগ করতে পারেন। - প্যাকেজ-ওয়াইড রাখার নিয়মগুলি ব্যবহার করবেন না যেমন
-keep class com.example.pkg.** { *; }
দীর্ঘমেয়াদী। R8 কনফিগার করার সময় সমস্যাগুলি সমাধান করার জন্য এগুলি সাময়িকভাবে ব্যবহার করা যেতে পারে। আরও তথ্যের জন্য, অপ্টিমাইজেশানের সুযোগ সীমিত করুন দেখুন। সাধারণভাবে, ওয়াইল্ডকার্ডের ব্যাপারে সতর্ক থাকুন- নিশ্চিত করুন যে আপনি শুধুমাত্র সেই কোডটিই রাখছেন যা আপনার প্রয়োজন।
আপনি যদি এই নিয়মগুলি অনুসরণ করতে অক্ষম হন, তাহলে আপনি হয়ত অনেক উন্মুক্ত প্রতিফলন ব্যবহার করছেন, এবং হয় প্রতিফলন এড়িয়ে চলা উচিত বা প্রতিফলন ব্যবহার করে লাইব্রেরি এড়ানো উচিত ( Gson কেস স্টাডি দেখুন)।