অ্যাপ মেমরি অপ্টিমাইজ করুন
সেভ করা পৃষ্ঠা গুছিয়ে রাখতে 'সংগ্রহ' ব্যবহার করুন
আপনার পছন্দ অনুযায়ী কন্টেন্ট সেভ করুন ও সঠিক বিভাগে রাখুন।
যেকোন সফটওয়্যার ডেভেলপমেন্ট এনভায়রনমেন্টে মেমরি একটি মূল্যবান সম্পদ, কিন্তু মোবাইল অপারেটিং সিস্টেমে এটি আরও বেশি মূল্যবান যেখানে শারীরিক মেমরি প্রায়ই সীমাবদ্ধ থাকে। এটি বিশেষত স্থানীয়ভাবে কম মেমরির ডিভাইসগুলির জন্য সত্য যা সাধারণত Android (Go সংস্করণ) এর সাথে পাওয়া যায়। আপনার অ্যাপে মেমরি অপ্টিমাইজ করতে সাহায্য করার জন্য কয়েকটি উপায় রয়েছে যাতে এটি এই পরিবেশে মসৃণভাবে চলতে সহায়তা করে।
সেরা অনুশীলন
ক্যাশে মেমরি রিলিজ করুন
ব্যাকগ্রাউন্ড প্রসেসগুলি চলমান রাখার জন্য পর্যাপ্ত মেমরি নাও থাকতে পারে যেমন আপনি একটি সাধারণ পরিবেশে করেন। এই ক্ষেত্রে, আপনি আপনার অ্যাপের প্রক্রিয়া থেকে অপ্রয়োজনীয় মেমরি ট্রিম করতে onTrimMemory()
ব্যবহার করতে পারেন। আপনার অ্যাপের বর্তমান ট্রিম লেভেলটি সবচেয়ে ভালোভাবে শনাক্ত করতে, ActivityManager.getMyMemoryState(RunningAppProcessInfo)
ব্যবহার করুন এবং যেকোনো অপ্রয়োজনীয় রিসোর্স অপ্টিমাইজ বা ট্রিম করুন। উদাহরণস্বরূপ, কম মেমরির কারণে আপনার অ্যাপ ক্র্যাশ বা ANR-এর অভিজ্ঞতার সংখ্যা কমাতে আপনি এক্সপ্রেশন, অনুসন্ধান, ক্যাশে দেখতে বা খোলাযোগ্য এক্সটেনশনগুলি থেকে অপ্রয়োজনীয় মেমরি ব্যবহার ট্রিম করতে পারেন।
টাস্ক শিডিউলিং
সমান্তরাল সময়সূচী সমান্তরালভাবে চালানোর জন্য একাধিক মেমরি নিবিড় ক্রিয়াকলাপগুলির দিকে পরিচালিত করতে পারে, যার ফলে একটি অ্যাপের সর্বোচ্চ মেমরি ব্যবহার অতিক্রমকারী সংস্থানগুলির জন্য প্রতিযোগিতা হয়। বিভিন্ন রিসোর্স সীমাবদ্ধতার সম্মুখীন হতে পারে এমন ডিভাইসগুলিতে চালানোর জন্য সঠিক থ্রেড পুলে CPU নিবিড়, কম লেটেন্সি কাজগুলিতে প্রক্রিয়াগুলিকে আলাদা করে যথাযথভাবে সংস্থান বরাদ্দ করার চেষ্টা করুন।
মেমরি লিক
অ্যান্ড্রয়েড স্টুডিওতে মেমরি প্রোফাইলার এবং পারফেটোর মতো বিভিন্ন সরঞ্জামগুলি আপনার অ্যাপের মধ্যে মেমরি লিক খুঁজে পেতে এবং কমাতে সহায়তা করার জন্য বিশেষভাবে উপলব্ধ। এটি অত্যন্ত উত্সাহিত যে আপনি সিস্টেমে অতিরিক্ত চাপ ছাড়াই আপনার অ্যাপের অন্যান্য উপাদানগুলিকে চালানোর অনুমতি দেওয়ার জন্য সম্ভাব্য মেমরি সমস্যাগুলি সনাক্ত করতে এবং সমাধান করতে এই সরঞ্জামগুলি ব্যবহার করুন৷
অন্যান্য টিপস
- বড় ছবি বা অঙ্কনযোগ্য অ্যাপগুলিতে বেশি মেমরি খরচ করে। মেমরি ব্যবহার কমাতে বড় বা পূর্ণ-রঙের বিটম্যাপ সনাক্ত করুন এবং অপ্টিমাইজ করুন।
- Android (Go সংস্করণ) তৈরি করার সময় আপনার অ্যাপে GIF-এর জন্য অন্যান্য বিকল্প বেছে নেওয়ার চেষ্টা করুন কারণ GIFগুলি প্রচুর মেমরি খরচ করে।
- আপনি WebP , pngcrush, এবং pngquant এর মতো টুল ব্যবহার করে ছবির গুণমান না হারিয়ে PNG ফাইলের আকার কমাতে পারেন। এই সমস্ত সরঞ্জামগুলি উপলব্ধিমূলক চিত্রের গুণমান রক্ষা করার সময় PNG ফাইলের আকার হ্রাস করতে পারে।
- aapt টুলটি বিল্ড প্রক্রিয়া চলাকালীন লসলেস কম্প্রেশন সহ
res/drawable/
এ রাখা ইমেজ রিসোর্সকে অপ্টিমাইজ করতে পারে। উদাহরণস্বরূপ, aapt টুলটি একটি সত্য-রঙের PNG রূপান্তর করতে পারে যার জন্য একটি রঙ প্যালেট সহ 8-বিট PNG তে 256টির বেশি রঙের প্রয়োজন হয় না। এটি করার ফলে সমান মানের একটি চিত্র পাওয়া যায় কিন্তু একটি ছোট মেমরির পদচিহ্ন।
এই পৃষ্ঠার কন্টেন্ট ও কোডের নমুনাগুলি Content License-এ বর্ণিত লাইসেন্সের অধীনস্থ। Java এবং OpenJDK হল Oracle এবং/অথবা তার অ্যাফিলিয়েট সংস্থার রেজিস্টার্ড ট্রেডমার্ক।
2025-07-29 UTC-তে শেষবার আপডেট করা হয়েছে।
[[["সহজে বোঝা যায়","easyToUnderstand","thumb-up"],["আমার সমস্যার সমাধান হয়েছে","solvedMyProblem","thumb-up"],["অন্যান্য","otherUp","thumb-up"]],[["এতে আমার প্রয়োজনীয় তথ্য নেই","missingTheInformationINeed","thumb-down"],["খুব জটিল / অনেক ধাপ","tooComplicatedTooManySteps","thumb-down"],["পুরনো","outOfDate","thumb-down"],["অনুবাদ সংক্রান্ত সমস্যা","translationIssue","thumb-down"],["নমুনা / কোড সংক্রান্ত সমস্যা","samplesCodeIssue","thumb-down"],["অন্যান্য","otherDown","thumb-down"]],["2025-07-29 UTC-তে শেষবার আপডেট করা হয়েছে।"],[],[],null,["# Optimize app memory\n\nMemory is a valuable resource in any software development environment, but it's\neven more valuable on a mobile operating system where physical memory is often\nconstrained. This is especially true for natively low-memory devices found\ncommonly with Android (Go edition). There are a few ways to help optimize memory\nin your app to help it run smoothly in these environments.\n\nBest practices\n--------------\n\n### Release cache memory\n\nThere may not be enough memory to keep background processes running as you\nwould in a typical environment. In this case, you can use\n[`onTrimMemory()`](/reference/android/content/ComponentCallbacks2#onTrimMemory(int))\nto trim unneeded memory from your app's process. To best\nidentify the current trim level for your app, use\n[`ActivityManager.getMyMemoryState(RunningAppProcessInfo)`](/reference/android/app/ActivityManager#getMyMemoryState(android.app.ActivityManager.RunningAppProcessInfo))\nand optimize or trim any unnecessary resources. For example, you can trim\nunnecessary memory usage from\nexpressions, search, view cache, or openable extensions to reduce the number of\ntimes your app experiences crashes or ANRs due to low memory.\n\n### Task scheduling\n\nConcurrent scheduling can lead to multiple memory intensive operations to run\nin parallel, leading to competition for resources exceeding the peak memory\nusage of an app. Try to appropriately allocate resources by separating processes\ninto CPU intensive, low latency tasks in the right\n[thread pool](/guide/background/threading) to run on devices that may face\nvarious resource constraints.\n\n### Memory leaks\n\nVarious tools, such as\n[Memory Profiler](/studio/profile/memory-profiler) in Android Studio and\n[Perfetto](https://perfetto.dev/docs/case-studies/memory) are\nspecifically available to help find and reduce memory leaks within your app.\nIt's highly encouraged that you use these tools to identify and fix potential\nmemory issues to allow other components of your app to run without additional\npressure on the system.\n\n### Other tips\n\n- Large images or drawables consume more memory in apps. Identify and optimize large or full-colored bitmaps to reduce memory usage.\n- Try to choose other options for GIFs in your app when building for Android (Go edition) as GIFs consume a lot of memory.\n- You can reduce PNG file sizes without losing image quality using tools like [WebP](/studio/write/convert-webp), pngcrush, and pngquant. All of these tools can reduce PNG file size while preserving the perceptive image quality.\n- The aapt tool can optimize the image resources placed in `res/drawable/` with lossless compression during the build process. For example, the aapt tool can convert a true-color PNG that does not require more than 256 colors to an 8-bit PNG with a color palette. Doing so results in an image of equal quality but a smaller memory footprint."]]