Android 11 QPR3 বা উচ্চতর ক্যাশড অ্যাপস ফ্রিজার সমর্থন করে। এই বৈশিষ্ট্যটি ক্যাশে করা প্রক্রিয়াগুলির জন্য কার্যকর করা বন্ধ করে এবং ক্যাশে থাকা অবস্থায় অপারেট করার চেষ্টা করতে পারে এমন অ্যাপগুলিকে দুর্ব্যবহার করে সম্পদের ব্যবহার হ্রাস করে৷ ফ্রেমওয়ার্ক ক্যাশে করা অ্যাপগুলিকে তাদের প্রসেসগুলিকে একটি হিমায়িত cgroup-এ স্থানান্তরিত করে হিমায়িত করে; এটি সক্রিয় ক্যাশে করা অ্যাপের উপস্থিতিতে সক্রিয় এবং নিষ্ক্রিয় CPU খরচ হ্রাস করে। অ্যাপ ফ্রিজার একটি সিস্টেম কনফিগারেশন পতাকা বা একটি বিকাশকারী বিকল্প ব্যবহার করে সক্ষম করা যেতে পারে।
অ্যাপস ফ্রিজার প্রয়োগ করুন
ক্যাশেড অ্যাপস ফ্রিজার কার্নেল cgroup v2 ফ্রিজারকে সুবিধা দেয়। একটি সামঞ্জস্যপূর্ণ কার্নেলের সাথে শিপিং ডিভাইসগুলি (ঐচ্ছিকভাবে) এটি সক্ষম করতে পারে৷ এটি করতে, বিকাশকারী বিকল্পটি সক্ষম করুন "ক্যাশে করা অ্যাপগুলির জন্য কার্য সম্পাদন স্থগিত করুন" বা ডিভাইস কনফিগারেশন ফ্ল্যাগ activity_manager_native_boot use_freezer
true
সেট করুন। যেমন:
adb shell device_config put activity_manager_native_boot use_freezer true && adb reboot
ফ্রিজার নিষ্ক্রিয় করা হয় যখন পতাকা use_freezer
মিথ্যা সেট করা হয় বা বিকাশকারী বিকল্প নিষ্ক্রিয় করা হয়। আপনি একটি সফ্টওয়্যার রিলিজ বা আপডেটে একটি ডিভাইস কনফিগারেশন পরিবর্তন করে এই সেটিংটি টগল করতে পারেন৷
অ্যাপস ফ্রিজার অফিসিয়াল এপিআই প্রকাশ করে না (এবং এর কোনো রেফারেন্স ইমপ্লিমেন্টেশন ক্লায়েন্ট নেই), কিন্তু লুকানো সিস্টেম APIs setProcessFrozen
এবং enableFreezer
ব্যবহার করে। এই APIগুলির বিশদ বিবরণের জন্য, ActivityManager-এর Process.java
এবং ActivityManagerService API দেখুন৷ ডেভেলপাররা পরীক্ষা-নিরীক্ষার জন্য ActivityManager
এ ক্লায়েন্ট কোডও উল্লেখ করতে পারেন।
কাস্টম বৈশিষ্ট্য হ্যান্ডেল
সাধারণত, ক্যাশে থাকা অবস্থায় প্রসেসগুলি কোনও কাজ করবে বলে আশা করা হয় না, তবে কিছু অ্যাপে এমন কাস্টম বৈশিষ্ট্য থাকতে পারে যা ক্যাশে থাকা অবস্থায় চালানোর আশা করা হয়। যখন অ্যাপস ফ্রিজারটি এমন একটি অ্যাপ চালিত ডিভাইসে সক্ষম করা হয়, তখন ক্যাশে করা প্রক্রিয়াগুলি হিমায়িত হয় এবং কাস্টম বৈশিষ্ট্যগুলিকে কাজ করা থেকে বাধা দিতে পারে।
একটি সমাধান হিসাবে, যদি একটি অ্যাপে এমন একটি প্রক্রিয়া থাকে যা ক্যাশে থাকা অবস্থায় ক্রিয়াকলাপগুলি সম্পাদন করতে হয়, তবে প্রক্রিয়াটির স্থিতিকে নন-ক্যাশে (যেমন বাউন্ড ফোরগ্রাউন্ড সার্ভিস (BFGS) বা ফোরগ্রাউন্ড) পরিবর্তন করে অ্যাপটিকে অনুমতি দেওয়ার জন্য কোনও কাজ করার আগে সক্রিয় থাকার জন্য
অ্যাপস ফ্রিজার পরীক্ষা করুন
অ্যাপ ফ্রিজারটি উদ্দেশ্য হিসাবে কাজ করছে তা যাচাই করতে, নিম্নলিখিত সংস্থানগুলি ব্যবহার করুন:
adb shell dumpsys activity
কমান্ড ব্যবহার করে হিমায়িত প্রসেসের একটি তালিকা পরীক্ষা করুন এবংApps frozen:
/sys/fs/cgroup/uid_0/cgroup.freeze
ফাইলের উপস্থিতি পরীক্ষা করুন।লগক্যাট দেখুন, যা প্রতিবার ফ্রিজারের মধ্যে বা বাইরে একটি প্রক্রিয়া স্থানান্তরিত করার সময় হিমায়িত এবং আনফ্রোজেন এন্ট্রি দেখায়। যেমন:
adb logcat | grep -i "\(freezing\|froze\)"