পণ্যের খবর
অ্যান্ড্রয়েড ভাইটালস ওয়েক লক মেট্রিক ব্যবহার করে আপনার অ্যাপের ব্যাটারি অপ্টিমাইজ করুন।
৭ মিনিটের পাঠ

ব্যবহারকারীর অভিজ্ঞতার ক্ষেত্রে ব্যাটারি লাইফ একটি অত্যন্ত গুরুত্বপূর্ণ দিক এবং ওয়েক লক এক্ষেত্রে একটি প্রধান ভূমিকা পালন করে। আপনি কি এগুলো অতিরিক্ত ব্যবহার করছেন? এই ব্লগ পোস্টে আমরা আলোচনা করব ওয়েক লক কী, এটি ব্যবহারের কিছু সেরা উপায় কী এবং প্লে কনসোল মেট্রিকের মাধ্যমে আপনি কীভাবে আপনার নিজের অ্যাপের আচরণ আরও ভালোভাবে বুঝতে পারবেন।
অ্যান্ড্রয়েড ভাইটালস-এ অতিরিক্ত আংশিক ওয়েক লক ব্যবহার
প্লে কনসোল এখন ব্যাটারির চার্জ কমে যাওয়া পর্যবেক্ষণ করে, এবং একটি মূল পারফরম্যান্স সূচক হিসেবে এতে অতিরিক্ত পার্শিয়াল ওয়েক লক ব্যবহারের উপর বিশেষ নজর দেওয়া হয়।
এই ফিচারটি বিদ্যমান মূল মেট্রিক স্থিতিশীলতা সূচকগুলোর (যেমন: ব্যবহারকারীর কাছে অতিরিক্ত ক্র্যাশ এবং ANR) পাশাপাশি ব্যাটারি দক্ষতার গুরুত্বকে বাড়িয়ে তোলে। আমরা অতিরিক্ত ওয়েক লকের জন্য একটি খারাপ আচরণের সীমা নির্ধারণ করেছি । ১ মার্চ, ২০২৬ থেকে, যদি আপনার অ্যাপটি এই মানের সীমা পূরণ না করে, তবে আমরা সুপারিশের মতো গুরুত্বপূর্ণ ডিসকভারি সারফেস থেকে অ্যাপটিকে বাদ দিতে পারি। কিছু ক্ষেত্রে, আমরা আপনার স্টোর লিস্টিং-এ একটি সতর্কবার্তা প্রদর্শন করতে পারি, যা ব্যবহারকারীদের জানাবে যে আপনার অ্যাপটি অতিরিক্ত ব্যাটারি খরচ করতে পারে।

অ্যান্ড্রয়েড ভাইটালস ওভারভিউতে অতিরিক্ত ওয়েক লক সতর্কতা ।
মোবাইল ডিভাইসের ক্ষেত্রে, অ্যান্ড্রয়েড ভাইটালস মেট্রিকটি সেইসব নন-এক্সেম্পটেড ওয়েক লকের জন্য প্রযোজ্য, যা স্ক্রিন বন্ধ থাকা অবস্থায় এবং অ্যাপটি ব্যাকগ্রাউন্ডে বা কোনো ফোরগ্রাউন্ড সার্ভিস চালানোর সময় অর্জিত হয়। অ্যান্ড্রয়েড ভাইটালস আংশিক ওয়েক লক ব্যবহারকে অতিরিক্ত বলে মনে করে যদি:
- ২৪ ঘণ্টার মধ্যে কমপক্ষে দুই ঘণ্টার জন্য ওয়েক লক বজায় রাখা হয়।
- এটি ২৮ দিনের গড় হিসাবে আপনার অ্যাপের ৫%-এরও বেশি সেশনকে প্রভাবিত করে।
অডিও , লোকেশন এবং জবশিডিউলার ব্যবহারকারী-প্রবর্তিত এপিআই দ্বারা তৈরি ওয়েক লকগুলো ওয়েক লক গণনার আওতা থেকে অব্যাহতিপ্রাপ্ত।
ওয়েক লক বোঝা
ওয়েক লক হলো এমন একটি ব্যবস্থা যা কোনো অ্যাপকে ডিভাইসের সিপিইউ চালু রাখতে সাহায্য করে, এমনকি যখন ব্যবহারকারী সক্রিয়ভাবে ডিভাইসটি ব্যবহার করছেন না তখনও।
একটি পার্শিয়াল ওয়েক লক স্ক্রিন বন্ধ থাকলেও সিপিইউকে চালু রাখে, যা সিপিইউকে স্বল্প-শক্তির "সাসপেন্ড" অবস্থায় প্রবেশ করতে বাধা দেয়। একটি ফুল ওয়েক লক স্ক্রিন এবং সিপিইউ উভয়কেই চালু রাখে।
আংশিক ওয়েক লক অর্জনের দুটি পদ্ধতি রয়েছে:
- অ্যাপটি একটি নির্দিষ্ট ব্যবহারের জন্য PowerManager API ব্যবহার করে ম্যানুয়ালি ওয়েক লক অর্জন ও মুক্ত করে, যা প্রায়শই একটি ফোরগ্রাউন্ড সার্ভিসের সাথে একত্রে করা হয় – এটি একটি প্ল্যাটফর্ম লাইফসাইকেল API যা ব্যবহারকারীর কাছে দৃশ্যমান কার্যক্রমের জন্য তৈরি।
- বিকল্পভাবে, ওয়েক লকটি অন্য একটি এপিআই দ্বারা অধিগ্রহণ করা হয় এবং সেই এপিআই ব্যবহারের কারণে অ্যাপটির নামে তা আরোপিত হয়; এ বিষয়ে সেরা অনুশীলন বিভাগে আরও আলোচনা করা হয়েছে।
ব্যবহারকারীর শুরু করা বড় কোনো ফাইল ডাউনলোড করার মতো কাজ সম্পন্ন করার জন্য ওয়েক লক অপরিহার্য হলেও, এর অতিরিক্ত বা ভুল ব্যবহারের ফলে ব্যাটারির চার্জ দ্রুত শেষ হয়ে যেতে পারে । আমরা এমন ঘটনাও দেখেছি যেখানে অ্যাপগুলো ঘণ্টার পর ঘণ্টা ওয়েক লক ধরে রাখে অথবা সঠিকভাবে তা ছাড়তে ব্যর্থ হয়, যার ফলে ব্যবহারকারীরা অ্যাপটি ব্যবহার না করা সত্ত্বেও ব্যাটারির চার্জ দ্রুত শেষ হয়ে যাওয়ার অভিযোগ করেন।
ওয়েক লক ব্যবহারের সর্বোত্তম অনুশীলন
অতিরিক্ত ওয়েক লক ব্যবহারের ডিবাগিং পদ্ধতি আলোচনা করার আগে, নিশ্চিত করুন যে আপনি ওয়েক লক সংক্রান্ত সর্বোত্তম অনুশীলনগুলো অনুসরণ করছেন।
এই চারটি গুরুত্বপূর্ণ প্রশ্ন বিবেচনা করুন।
১. আপনি কি বিকল্প ওয়েক লক পদ্ধতিগুলো বিবেচনা করেছেন?
ম্যানুয়াল পার্শিয়াল ওয়েক লক নেওয়ার কথা বিবেচনা করার আগে, এই সিদ্ধান্ত গ্রহণের ফ্লোচার্টটি অনুসরণ করুন:

কখন ম্যানুয়ালি ওয়েক লক অর্জন করতে হবে তা নির্ধারণ করার ফ্লোচার্ট
- স্ক্রিনটি কি চালু রাখার প্রয়োজন আছে?
- হ্যাঁ: এর পরিবর্তে Keep Screen On ডকুমেন্টেশনটি দেখুন।
- অ্যাপ্লিকেশনটি কি কোনো ফোরগ্রাউন্ড সার্ভিস চালাচ্ছে?
- না: আপনাকে ম্যানুয়ালি ওয়েক লক অর্জন করতে হবে না।
- ডিভাইসটি সাসপেন্ড হলে তা কি ব্যবহারকারীর অভিজ্ঞতার জন্য ক্ষতিকর?
- না: উদাহরণস্বরূপ, ডিভাইসটি জেগে ওঠার পরে কোনো নোটিফিকেশন আপডেট করার জন্য ওয়েক লকের প্রয়োজন হয় না।
- হ্যাঁ: যদি ডিভাইসটিকে সাসপেন্ড হওয়া থেকে আটকানো অত্যাবশ্যক হয়, যেমন কোনো বাহ্যিক ডিভাইসের সাথে যোগাযোগ চলমান রাখা, তাহলে এগিয়ে যান।
- আপনার হয়ে ডিভাইসটিকে সজাগ রাখার জন্য কি আগে থেকেই কোনো এপিআই আছে?
- অন্যান্য এপিআই, যেমন লোকেশনম্যানেজার (LocationManager), দ্বারা তৈরি ওয়েক লকগুলো শনাক্ত করার জন্য আপনি "অন্যান্য এপিআই দ্বারা তৈরি ওয়েক লকগুলো শনাক্ত করুন" (Identify wake locks created by other APIs) ডকুমেন্টেশনটি ব্যবহার করতে পারেন।
- যদি কোনো API না থাকে, তাহলে চূড়ান্ত প্রশ্নে যান।
- যদি আপনি এই সমস্ত প্রশ্নের উত্তর দিয়ে থাকেন এবং নিশ্চিত হন যে অন্য কোনো বিকল্প নেই, তাহলে আপনার ম্যানুয়ালি ওয়েক লক সংগ্রহ করার প্রক্রিয়াটি চালিয়ে যাওয়া উচিত।
২. আপনি কি ওয়েক লকটির নামকরণ সঠিকভাবে করছেন?
ম্যানুয়ালি ওয়েক লক অর্জন করার সময়, ডিবাগিংয়ের জন্য সঠিক নামকরণ গুরুত্বপূর্ণ:
- নামে ইমেল ঠিকানার মতো কোনো ব্যক্তিগত শনাক্তকরণযোগ্য তথ্য (PII) অন্তর্ভুক্ত করবেন না। যদি PII শনাক্ত হয়, তাহলে ওয়েক লকটি
_UNKNOWNহিসেবে লগ করা হয়, যা ডিবাগিংয়ে বাধা সৃষ্টি করে। - ক্লাস বা মেথডের নাম ব্যবহার করে প্রোগ্রাম্যাটিকভাবে আপনার ওয়েক লকের নামকরণ করবেন না, কারণ Proguard-এর মতো টুল দ্বারা এগুলি অস্পষ্ট (obfuscate) করা যেতে পারে। এর পরিবর্তে, একটি হার্ড-কোডেড স্ট্রিং ব্যবহার করুন।
- ওয়েক লক ট্যাগে কাউন্টার বা অনন্য শনাক্তকারী যোগ করবেন না। প্রতিবার ওয়েক লক চলার সময় একই ট্যাগ ব্যবহার করা উচিত, যাতে সিস্টেম নাম অনুসারে ব্যবহার একত্রিত করতে পারে এবং অস্বাভাবিক আচরণ সহজে শনাক্ত করা যায়।
৩. অর্জিত ওয়েক লকটি কি সর্বদা মুক্ত করা হয়?
আপনি যদি ম্যানুয়ালি ওয়েক লক অর্জন করেন, তবে নিশ্চিত করুন যে ওয়েক লক রিলিজ প্রক্রিয়াটি সর্বদা কার্যকর হয়। ওয়েক লক রিলিজ করতে ব্যর্থ হলে ব্যাটারির চার্জ দ্রুত শেষ হয়ে যেতে পারে।
উদাহরণস্বরূপ, যদি processingWork() চলাকালীন একটি আনক্যাচড এক্সেপশন থ্রো করা হয়, তাহলে release() কলটি হয়তো কখনোই ঘটবে না। এর পরিবর্তে, আপনি একটি try-finally ব্লক ব্যবহার করে এটা নিশ্চিত করতে পারেন যে, এক্সেপশন ঘটলেও ওয়েক লকটি রিলিজ হবে।
এছাড়াও, আপনি ওয়েক লকে একটি টাইমআউট যোগ করতে পারেন, যাতে এটি একটি নির্দিষ্ট সময় পরে মুক্ত হয় এবং অনির্দিষ্টকালের জন্য আটকে থাকা প্রতিরোধ করা যায়।
fun processingWork() {
wakeLock.apply {
try {
acquire(60 * 10 * 1000) // timeout after 10 minutes
doTheWork()
} finally {
release()
}
}
}
৪. আপনি কি ঘুম থেকে ওঠার হার কমাতে পারেন?
নির্দিষ্ট সময় পরপর ডেটার অনুরোধের ক্ষেত্রে, আপনার অ্যাপ কত ঘন ঘন ডিভাইসটিকে জাগিয়ে তোলে তা কমানোই ব্যাটারি অপ্টিমাইজেশনের মূল চাবিকাঠি। ডিভাইস জাগিয়ে তোলার হার কমানোর কিছু উদাহরণ হলো:
- WorkManager: PeriodicWorkRequest- এর পর্যায়কাল বৃদ্ধি করুন।
- SensorManager: লিসেনার নিবন্ধন করার সময় maxReportLatencyMs উল্লেখ করে ব্যাচিং-এর সুবিধা নিন।
- ফিউজড লোকেশন প্রোভাইডার:
- সর্বশেষ ক্যাশ করা অবস্থানটি পেতে getLastLocation ব্যবহার করে অবস্থান পুনরুদ্ধারের পুনরাবৃত্তি হ্রাস করুন।
- কম ব্যাটারি খরচকারী আপডেট পদ্ধতির জন্য setPriority(PRIORITY_PASSIVE ) ব্যবহার করুন।
- এছাড়াও, আপনি setMinUpdateIntervalMillis ব্যবহার করে একটি ন্যূনতম আপডেট ব্যবধান নির্ধারণ করার মাধ্যমে লোকেশন ব্যাচিং মেকানিজমটি কাজে লাগাতে পারেন।
আপনি ওয়েক লক সেরা অনুশীলন ডকুমেন্টেশনে আরও বিস্তারিত দেখতে পারেন।
অতিরিক্ত ওয়েক লক ব্যবহারের ডিবাগিং
সর্বোত্তম উদ্দেশ্য থাকা সত্ত্বেও, অতিরিক্ত ওয়েক লক ব্যবহার হতে পারে। যদি আপনার অ্যাপটি প্লে কনসোলে ফ্ল্যাগ করা হয়, তবে এটি ডিবাগ করার উপায় নিচে দেওয়া হলো:
প্লে কনসোলের সাথে প্রাথমিক শনাক্তকরণ
অ্যান্ড্রয়েড ভাইটালস-এর অতিরিক্ত আংশিক ওয়েক লক ড্যাশবোর্ডটি আপনার অ্যাপের সাথে যুক্ত অব্যাহতিপ্রাপ্ত নয় এমন ওয়েক লক নামগুলোর বিস্তারিত বিবরণ প্রদান করে, যেখানে প্রভাবিত সেশন এবং সময়কাল দেখানো হয়। মনে রাখবেন, ওয়েক লক নামটি অ্যাপ-নিয়ন্ত্রিত নাকি অন্য কোনো এপিআই দ্বারা নিয়ন্ত্রিত, তা শনাক্ত করতে ডকুমেন্টেশন ব্যবহার করুন।

অ্যান্ড্রয়েড ভাইটালস-এর অতিরিক্ত আংশিক ওয়েক লক ড্যাশবোর্ডটি অতিরিক্ত ওয়েক লক ট্যাগগুলো দেখার জন্য ব্রেকডাউনস বিভাগে স্ক্রল করে নিচে নামানো হলো।
ওয়ার্কার/জব দ্বারা ধারণ করা অতিরিক্ত ওয়েক লক ডিবাগ করা
আপনি এই ওয়েক লক নামটি দিয়ে ওয়ার্কার-নিয়ন্ত্রিত ওয়েক লকগুলি শনাক্ত করতে পারেন:
*job*/<package_name>/androidx.work.impl.background.systemjob.SystemJobService
ওয়ার্কার-নিয়ন্ত্রিত ওয়েক লক নামগুলির বিভিন্ন রূপের সম্পূর্ণ তালিকা ডকুমেন্টেশনে পাওয়া যাবে। এই ওয়েক লকগুলি ডিবাগ করার জন্য, আপনি স্থানীয়ভাবে ডিবাগ করতে ব্যাকগ্রাউন্ড টাস্ক ইন্সপেক্টর ব্যবহার করতে পারেন, অথবা ফিল্ডে সমস্যা ডিবাগ করার জন্য getStopReason কাজে লাগাতে পারেন।
অ্যান্ড্রয়েড স্টুডিও ব্যাকগ্রাউন্ড টাস্ক ইন্সপেক্টর

ব্যাকগ্রাউন্ড টাস্ক ইন্সপেক্টরের স্ক্রিনশট, যেখানে এটি “WeatherSyncWorker” নামের একটি ওয়ার্কারকে শনাক্ত করতে পেরেছে যেটি বারবার চেষ্টা করে ব্যর্থ হয়েছে।
WorkManager এর সমস্যা স্থানীয়ভাবে ডিবাগ করার জন্য, একটি এমুলেটর বা সংযুক্ত ডিভাইসে এই টুলটি ব্যবহার করুন (API লেভেল ২৬+)। এটি ওয়ার্কারদের একটি তালিকা এবং তাদের স্ট্যাটাস (শেষ, চলমান, সারিতে যুক্ত) দেখায়, যা আপনাকে বিস্তারিত তথ্য খতিয়ে দেখতে এবং ওয়ার্কার চেইন বুঝতে সাহায্য করে।
উদাহরণস্বরূপ, এর মাধ্যমে জানা যায় যে সিস্টেমের সীমাবদ্ধতার কারণে কোনো কর্মী ঘন ঘন ব্যর্থ হচ্ছে বা পুনরায় চেষ্টা করছে কি না।
আরও বিস্তারিত তথ্যের জন্য ব্যাকগ্রাউন্ড টাস্ক ইন্সপেক্টর ডকুমেন্টেশন দেখুন।
ওয়ার্কম্যানেজার getStopReason
অতিরিক্ত ওয়েক লকযুক্ত ওয়ার্কারদের ফিল্ডে ডিবাগিং করার জন্য, WorkManager 2.9.0+ এ WorkInfo.getStopReason() অথবা JobScheduler এর জন্য SDK 31+ এ উপলব্ধ JobParameters.getStopReason() ব্যবহার করুন।
এই API-টি কোনো ওয়ার্কার কেন বন্ধ হয়ে গেল তার কারণ লগ করতে সাহায্য করে (যেমন, STOP_REASON_TIMEOUT , STOP_REASON_QUOTA ), যা রানটাইমের সময়সীমা শেষ হয়ে যাওয়ার কারণে ঘন ঘন টাইমআউটের মতো সমস্যাগুলো চিহ্নিত করে।
backgroundScope.launch {
WorkManager.getInstance(context)
.getWorkInfoByIdFlow(workRequest.id)
.collect { workInfo ->
logStopReason(workRequest.id, workInfo?.stopReason)
}
}
আরও বিস্তারিত জানতে টাস্ক শিডিউলিং এপিআই-এর জন্য ব্যাটারির ব্যবহার অপ্টিমাইজ করুন দেখুন।
অন্যান্য ধরণের অতিরিক্ত ওয়েক লক ডিবাগ করা
ম্যানুয়ালি ধরে রাখা ওয়েক লক অথবা এপিআই দ্বারা ওয়েক লক ধরে রাখার মতো আরও জটিল পরিস্থিতিতে, আমরা ডিবাগ করার জন্য সিস্টেম ট্রেস কালেকশন ব্যবহার করার পরামর্শ দিই।
সিস্টেম ট্রেস সংগ্রহ
সিস্টেম ট্রেস একটি শক্তিশালী ডিবাগিং টুল যা একটি নির্দিষ্ট সময় ধরে সিস্টেমের কার্যকলাপের বিস্তারিত রেকর্ড ধারণ করে, এবং এর মাধ্যমে সিপিইউ-এর অবস্থা, থ্রেডের কার্যকলাপ, নেটওয়ার্কের কার্যকলাপ, এবং ব্যাটারি-সম্পর্কিত মেট্রিক যেমন কাজের সময়কাল ও ওয়েক লক ব্যবহারের বিষয়ে ধারণা পাওয়া যায়।
আপনি বিভিন্ন পদ্ধতি ব্যবহার করে সিস্টেম ট্রেস ক্যাপচার করতে পারেন:
- সিস্টেম ট্রেস কমান্ড লাইন টুল ব্যবহার করে
- অ্যান্ড্রয়েড স্টুডিও সিপিইউ প্রোফাইলার ব্যবহার করে
- পারফেটটো UI ব্যবহার করে
- ডিভাইসে সরাসরি ডেভেলপার অপশন থেকে ম্যানুয়ালি ট্রেস রেকর্ড করা।

পারফেটটো UI-এর অ্যান্ড্রয়েড অ্যাপস ও সার্ভিসেস ট্যাবের অধীনে "power:PowerManagement" Atrace ক্যাটাগরিটি সক্রিয় করুন।
নির্বাচিত পদ্ধতি নির্বিশেষে, ডিভাইসের অবস্থার ট্র্যাকগুলি দেখার জন্য "power:PowerManagement" Atrace ক্যাটাগরিটি সংগ্রহ করা নিশ্চিত করা অত্যন্ত গুরুত্বপূর্ণ।
পারফেট্টো UI পরিদর্শন এবং SQL বিশ্লেষণ
পারফেটটো UI- তে সিস্টেম ট্রেস খোলা এবং পরিদর্শন করা যায়। ট্রেসটি খুললে, আপনি একটি টাইমলাইনে বিভিন্ন প্রসেসের একটি ভিজ্যুয়ালাইজেশন দেখতে পাবেন। এই গাইডে আমরা “ডিভাইস স্টেট”-এর অধীনে থাকা ট্র্যাকগুলোর উপর মনোযোগ দেব।

দীর্ঘ সময় ধরে চলা ওয়েক লক স্লাইসগুলিকে দৃশ্যত শনাক্ত করার জন্য “ডিভাইস স্টেট”-এর অধীনে থাকা ট্র্যাকগুলি, যেমন "টপ অ্যাপ", "স্ক্রিন স্টেট", "লং ওয়েক লকস" এবং "জবস" ট্র্যাকগুলিকে পিন করুন।
প্রতিটি ব্লকে ইভেন্টের নাম, ইভেন্টটি কখন শুরু হয়েছিল এবং কখন শেষ হয়েছিল তা তালিকাভুক্ত থাকে। পারফেটোতে, একে স্লাইস বলা হয়।
একাধিক ট্রেসের পরিবর্ধনযোগ্য বিশ্লেষণের জন্য, আপনি পারফেটোর SQL বিশ্লেষণ ব্যবহার করতে পারেন। একটি SQL কোয়েরি সময়কাল অনুসারে সাজানো সমস্ত ওয়েক লক খুঁজে বের করতে পারে, যা অতিরিক্ত ব্যবহারের প্রধান কারণগুলো শনাক্ত করতে সাহায্য করে।
সিস্টেম ট্রেসে ঘটা সমস্ত ওয়েক লক ট্যাগগুলোকে মোট সময়কাল অনুসারে সাজিয়ে যোগফল বের করার একটি উদাহরণ কোয়েরি নিচে দেওয়া হলো:
SELECT slice.name as name, track.name as track_name,SUM(dur / 100000) as total_dur_ms FROM slice JOIN track ON slice.track_id = track.id WHERE track.name = 'WakeLocks'GROUP BY slice.name, track.name ORDER BY total_dur_ms DESC
মাঠপর্যায়ে ট্রেস সংগ্রহের জন্য প্রোফাইলিংম্যানেজার ব্যবহার করুন
যেসব সমস্যা সহজে পুনরুৎপাদন করা যায় না, সেগুলোর জন্য ProfilingManager (SDK 35-এ যুক্ত) হলো একটি প্রোগ্রাম্যাটিক এপিআই, যা ডেভেলপারদের স্টার্ট ও এন্ড ট্রিগারের মাধ্যমে ফিল্ড থেকে সিস্টেম ট্রেস সংগ্রহ করতে দেয়। এটি প্রোফাইল সংগ্রহের জন্য স্টার্ট ও এন্ড ট্রিগার পয়েন্টের উপর আরও বেশি নিয়ন্ত্রণ প্রদান করে এবং ডিভাইসের পারফরম্যান্সে প্রভাব রোধ করতে সিস্টেম-লেভেল রেট লিমিটিং প্রয়োগ করে।
ফিল্ডে সিস্টেম ট্রেস সংগ্রহ কীভাবে বাস্তবায়ন করতে হয়, সে সম্পর্কে আরও ধাপ জানতে ProfilingManager ডকুমেন্টেশন দেখুন, যার মধ্যে রয়েছে প্রোগ্রাম্যাটিকভাবে কীভাবে ট্রেস ক্যাপচার করতে হয়, প্রোফাইলিং ডেটা বিশ্লেষণ করতে হয় এবং লোকাল ডিবাগ কমান্ড ব্যবহার করতে হয়।
ProfilingManager ব্যবহার করে সংগৃহীত সিস্টেম ট্রেসগুলো ম্যানুয়ালি সংগৃহীত ট্রেসের মতোই দেখতে হবে, কিন্তু ট্রেস থেকে সিস্টেম প্রসেস এবং অন্যান্য অ্যাপ প্রসেসগুলো গোপন রাখা হয়।
উপসংহার
অ্যান্ড্রয়েড ভাইটালস-এ থাকা অত্যধিক পার্শিয়াল ওয়েক লক মেট্রিকটি, ডেভেলপারদের ব্যাটারি খরচ কমাতে ও অ্যাপের মান উন্নত করতে সহায়তা করার জন্য আমাদের চলমান প্রতিশ্রুতির একটি ক্ষুদ্র অংশ মাত্র।
ওয়েক লক বোঝা এবং সঠিকভাবে প্রয়োগ করার মাধ্যমে, আপনি আপনার অ্যাপের ব্যাটারি পারফরম্যান্স উল্লেখযোগ্যভাবে উন্নত করতে পারেন। বিকল্প এপিআই ব্যবহার করা, ওয়েক লকের সেরা অনুশীলনগুলো মেনে চলা এবং ব্যাকগ্রাউন্ড টাস্ক ইন্সপেক্টর, সিস্টেম ট্রেস ও প্রোফাইলিংম্যানেজারের মতো শক্তিশালী ডিবাগিং টুল ব্যবহার করা গুগল প্লে-তে আপনার অ্যাপের সাফল্য নিশ্চিত করার মূল চাবিকাঠি।
পড়তে থাকুন

পণ্যের খবর
অ্যান্ড্রয়েড স্টুডিও পান্ডা ৪ এখন স্থিতিশীল এবং প্রোডাকশনে ব্যবহারের জন্য প্রস্তুত। এই রিলিজে যুক্ত হয়েছে প্ল্যানিং মোড, নেক্সট এডিট প্রেডিকশন এবং আরও অনেক কিছু, যা দিয়ে উচ্চ-মানের অ্যান্ড্রয়েড অ্যাপ তৈরি করা আগের চেয়েও সহজ।
Matt Dyor • পড়তে ৫ মিনিট

পণ্যের খবর
আপনি যদি একজন অ্যান্ড্রয়েড ডেভেলপার হন এবং আপনার অ্যাপে উদ্ভাবনী এআই ফিচার যুক্ত করতে চান, তবে আমরা সম্প্রতি শক্তিশালী নতুন আপডেট চালু করেছি।
Thomas Ezan • পড়তে ৩ মিনিট

পণ্যের খবর
অ্যান্ড্রয়েড ১৭ বিটা ৪-এ পৌঁছেছে, যা এই রিলিজ চক্রের সর্বশেষ নির্ধারিত বিটা এবং অ্যাপের সামঞ্জস্যতা ও প্ল্যাটফর্মের স্থিতিশীলতার জন্য একটি অত্যন্ত গুরুত্বপূর্ণ মাইলফলক।
Daniel Galpin • পড়তে ৪ মিনিট
আপ-টু-ডেট থাকুন
অ্যান্ড্রয়েড ডেভেলপমেন্টের সর্বশেষ তথ্য প্রতি সপ্তাহে আপনার ইনবক্সে পান।




