কিছু দেশে ডেটা প্ল্যানের খরচ একজন সাধারণ ব্যবহারকারীর মাসিক আয়ের 10% এর বেশি হতে পারে। এর মানে হল যে আপনার অ্যাপের ডাউনলোডের আকার ছোট করা এবং ব্যবহারকারীকে আপনার অ্যাপ কীভাবে ডেটা ব্যবহার করে তা নিয়ন্ত্রণ করতে দেওয়া অনেক ব্যবহারকারীর জন্য একটি বড়, বাস্তব সুবিধা পেতে পারে। ডাউনলোডের আকার ছোট করা অভ্যন্তরীণ সঞ্চয়স্থানে স্থান সংরক্ষণ করতেও সাহায্য করে, যা কিছু ডিভাইসে একটি দুর্লভ সম্পদ।
নেটওয়ার্ক এবং অভ্যন্তরীণ সঞ্চয়স্থান উভয় ক্ষেত্রেই আপনার অ্যাপ ব্যবহার করে এমন ডেটার পরিমাণ অপ্টিমাইজ করতে সাহায্য করার জন্য আপনি এখানে কিছু কৌশল খুঁজে পেতে পারেন।
অ্যাপের আকার হ্রাস করুন
নেটওয়ার্ক ডেটা এবং অভ্যন্তরীণ সঞ্চয়স্থান উভয় ক্ষেত্রেই অ্যাপের আকার হ্রাস করা একটি মৌলিক উপায় যা আপনি আপনার ব্যবহারকারীকে কম ডেটা ব্যবহার করতে সহায়তা করতে পারেন৷ এই বিভাগটি অ্যাপের আকার হ্রাস করার বিভিন্ন পদ্ধতির বর্ণনা করে।
APK গ্রাফিকাল সম্পদের আকার হ্রাস করুন
- গ্রাফিকাল সম্পদগুলি প্রায়শই APK-এর আকারে সবচেয়ে বড় অবদান রাখে৷ এইগুলি অপ্টিমাইজ করার ফলে ব্যবহারকারীদের জন্য ছোট ডাউনলোড এবং এইভাবে দ্রুত ইনস্টলেশনের সময় হতে পারে।
- গ্রাফিকাল সম্পদের জন্য যেমন আইকন, স্কেলেবল ভেক্টর গ্রাফিক্স (SVG) বিন্যাস ব্যবহার করুন। SVG ছবিগুলি বিটম্যাপ গ্রাফিক্সের তুলনায় আকারে ছোট এবং যেকোনো রেজোলিউশনে রানটাইমে রেন্ডার করা যেতে পারে। অ্যান্ড্রয়েড সাপোর্ট লাইব্রেরি অ্যান্ড্রয়েড 2.1 (এপিআই লেভেল 7) এ ভেক্টর রিসোর্সের জন্য একটি পশ্চাদগামী-সামঞ্জস্যপূর্ণ বাস্তবায়ন প্রদান করে। এই মিডিয়াম পোস্ট দিয়ে ভেক্টর দিয়ে শুরু করুন।
- নন-ভেক্টর ছবিগুলির জন্য, যেমন ফটো, ছবি লোড করার সময় কমাতে এবং নেটওয়ার্ক ব্যান্ডউইথ সংরক্ষণ করতে WebP ব্যবহার করুন। WebP প্রমাণিত যে এটির PNG এবং JPG সমকক্ষের তুলনায় ছোট ফাইলের আকার রয়েছে, অন্তত একই চিত্রের গুণমান সহ। এমনকি ক্ষতিকারক সেটিংসেও, WebP মূলটির সাথে প্রায় অভিন্ন চিত্র তৈরি করতে পারে। Android 4.0 (API স্তর 14: আইসক্রিম স্যান্ডউইচ) থেকে ক্ষতিকর WebP সমর্থন এবং Android 4.2 (API স্তর 17: Jelly Bean) থেকে ক্ষতিহীন, স্বচ্ছ ওয়েবপি-এর জন্য সমর্থন অন্তর্ভুক্ত করেছে।
- আপনার যদি একাধিক ঘনত্ব জুড়ে অনেকগুলি বড় ছবি থাকে, তাহলে ঘনত্ব দ্বারা আপনার APK বিভক্ত করতে একাধিক APK সমর্থন ব্যবহার করার কথা বিবেচনা করুন৷ এর ফলে নির্দিষ্ট ঘনত্বের জন্য লক্ষ্যবস্তু তৈরি করা হয়, যার অর্থ কম-ঘনত্বের ডিভাইসের ব্যবহারকারীদের অব্যবহৃত উচ্চ-ঘনত্বের সম্পদ ডাউনলোড করার শাস্তি ভোগ করতে হবে না।
- APK আকার হ্রাস সম্পর্কে আরও তথ্যের জন্য, দেখুন APK আকার হ্রাস করুন এবং আপনার কোড এবং সংস্থানগুলি সঙ্কুচিত করুন । এছাড়াও, আপনি মাঝারি পোস্টগুলির এই সিরিজে APK আকার হ্রাস করার জন্য একটি বিশদ নির্দেশিকা খুঁজে পেতে পারেন।
কোডের আকার হ্রাস করুন
- আপনার অ্যান্ড্রয়েড প্রকল্পের প্রতিটি লাইব্রেরি APK-তে সম্ভাব্য অব্যবহৃত কোড যোগ করছে। এক্সটার্নাল লাইব্রেরি ব্যবহার করার ব্যাপারে বিশেষভাবে সতর্ক থাকুন কারণ সব লাইব্রেরি মোবাইল অ্যাপে ব্যবহারের জন্য ডিজাইন করা হয়নি। আপনার অ্যাপ ব্যবহার করা লাইব্রেরিগুলি মোবাইল ব্যবহারের জন্য অপ্টিমাইজ করা হয়েছে তা নিশ্চিত করুন৷
- ProGuard এর মতো একটি টুল ব্যবহার করে আপনার সংকলিত কোডটি অপ্টিমাইজ করার কথা বিবেচনা করুন। ProGuard ব্যবহার করা হচ্ছে না এমন কোড শনাক্ত করে এবং এটিকে আপনার APK থেকে সরিয়ে দেয়। এছাড়াও
build.gradle
এminifyEnabled=true
,shrinkResources=true
সেট করে বিল্ড টাইমে রিসোর্স সঙ্কুচিত করা সক্ষম করুন —এটি স্বয়ংক্রিয়ভাবে আপনার APK থেকে অব্যবহৃত সংস্থানগুলি সরিয়ে দেয়। - Google Play পরিষেবাগুলি ব্যবহার করার সময়, আপনার APK এ শুধুমাত্র প্রয়োজনীয় API গুলিকে বেছে নেওয়া উচিত৷
- আপনার APK-এ কোডের আকার কমানোর বিষয়ে আরও তথ্যের জন্য, কীভাবে নির্ভরতা ইনজেকশন ফ্রেমওয়ার্ক এড়ানো যায় সে সম্পর্কে Android প্রশিক্ষণ দেখুন।
অ্যাপটিকে এক্সটার্নাল (SD) স্টোরেজে সরানোর অনুমতি দিন
- কম দামের ডিভাইসগুলি প্রায়ই সামান্য অন-ডিভাইস স্টোরেজ সহ আসে। ব্যবহারকারীরা এসডি কার্ড দিয়ে এটি প্রসারিত করতে পারেন; যাইহোক, অ্যাপগুলিকে স্পষ্টভাবে ঘোষণা করতে হবে যে ব্যবহারকারীরা সেগুলি সরাতে পারার আগে তারা বহিরাগত স্টোরেজে ইনস্টল করা সমর্থন করে৷
- আপনার AndroidManifest.xml-এ
android:installLocation
পতাকা ব্যবহার করে আপনার অ্যাপটিকে এক্সটার্নাল স্টোরেজে ইনস্টল করার অনুমতি দিন। আপনার অ্যাপ্লিকেশানটিকে বাহ্যিক সঞ্চয়স্থানে সরানোর জন্য সক্ষম করার বিষয়ে আরও তথ্যের জন্য, অ্যাপ ইনস্টল অবস্থানে Android নির্দেশিকা দেখুন৷
অ্যাপ-ইনস্টল ডিস্কের ব্যবহার কমিয়ে দিন
- আপনার অ্যাপের ডিস্ক ব্যবহার কম রাখার মানে হল যে ডিভাইসে ফাঁকা জায়গা কম থাকলে ব্যবহারকারীরা আপনার অ্যাপ আনইনস্টল করার সম্ভাবনা কম থাকে। আপনার ক্যাশে চারপাশে সীমানা প্রয়োগ করা গুরুত্বপূর্ণ—এটি আপনার অ্যাপের ডিস্ক ব্যবহারকে অনির্দিষ্টকালের জন্য বাড়তে বাধা দেয়। নিশ্চিত করুন যে আপনি আপনার ক্যাশ করা ডেটা
getCacheDir()
-এ রেখেছেন — সিস্টেম প্রয়োজন অনুসারে এখানে রাখা ফাইলগুলি মুছে ফেলতে পারে, তাই সেগুলি অ্যাপে প্রতিশ্রুতিবদ্ধ স্টোরেজ হিসাবে দেখাবে না।
কনফিগারযোগ্য নেটওয়ার্ক ব্যবহারের প্রস্তাব
অ্যান্ড্রয়েড প্ল্যাটফর্মে এমন অনেক উপায় রয়েছে যা আপনি ব্যবহারকারীকে তাদের নিজস্ব প্রয়োজনের জন্য অপ্টিমাইজ করে আপনার অ্যাপের নেটওয়ার্ক ব্যবহারের উপর নিয়ন্ত্রণ দিতে পারেন। উদাহরণস্বরূপ, প্রথম ব্যবহারে, আপনার অ্যাপ ব্যবহারকারীকে বিভিন্ন নেটওয়ার্ক-সম্পর্কিত সেটিংসের মাধ্যমে নিয়ে যেতে পারে। আপনি অ্যাপের বাইরে থেকে একটি নেটওয়ার্ক পছন্দ স্ক্রীনও প্রদান করতে পারেন।
ব্যবহারকারীদের নেটওয়ার্ক পছন্দের জন্য অনবোর্ডিং অভিজ্ঞতা প্রদান করুন
- যে অ্যাপগুলি ব্যবহারকারীদের ডেটা ব্যবহার কমাতে দেয় সেগুলি ভালভাবে গৃহীত হয়, এমনকি তাদের ভারী ডেটা প্রয়োজনীয়তা থাকলেও৷ যদি আপনার অ্যাপটি যথেষ্ট পরিমাণে ব্যান্ডউইথ ব্যবহার করে (উদাহরণস্বরূপ, ভিডিও স্ট্রিমিং অ্যাপস), আপনি ব্যবহারকারীদের নেটওয়ার্ক ব্যবহার কনফিগার করার জন্য একটি অনবোর্ডিং অভিজ্ঞতা প্রদান করতে পারেন। উদাহরণস্বরূপ, আপনি ব্যবহারকারীকে সেলুলার নেটওয়ার্কগুলিতে নিম্ন-বিটরেট ভিডিও স্ট্রিমগুলি জোর করার অনুমতি দিতে পারেন৷
- ডেটা সিঙ্কিং, প্রিফেচিং, এবং নেটওয়ার্ক ব্যবহারের আচরণ নিয়ন্ত্রণ করার জন্য ব্যবহারকারীদের জন্য অতিরিক্ত সেটিংস (উদাহরণস্বরূপ, শুধুমাত্র Wi-Fi-এ সমস্ত তারকাচিহ্নিত সংবাদ বিভাগগুলি প্রিফেচ করুন), এছাড়াও ব্যবহারকারীদের তাদের প্রয়োজন অনুসারে আপনার অ্যাপের আচরণ তৈরি করতে সহায়তা করে।
- নেটওয়ার্ক ব্যবহার পরিচালনার বিষয়ে আরও তথ্যের জন্য, নেটওয়ার্ক ব্যবহার পরিচালনার বিষয়ে অ্যান্ড্রয়েড প্রশিক্ষণ দেখুন।
একটি নেটওয়ার্ক পছন্দ স্ক্রীন প্রদান করুন
- আপনি নেটওয়ার্ক পছন্দ স্ক্রীনের মাধ্যমে অ্যাপের বাইরে থেকে অ্যাপের নেটওয়ার্ক সেটিংসে নেভিগেট করতে পারেন। আপনি সিস্টেম সেটিংস স্ক্রীন বা সিস্টেম ডেটা ব্যবহার স্ক্রীন থেকে এই স্ক্রীনটি চালু করতে পারেন।
- একটি নেটওয়ার্ক পছন্দের স্ক্রীন প্রদান করতে যা ব্যবহারকারীরা আপনার অ্যাপের মধ্যে থেকে এবং সিস্টেম সেটিংস থেকে অ্যাক্সেস করতে পারে, আপনার অ্যাপে এমন একটি কার্যকলাপ অন্তর্ভুক্ত করুন যা
ACTION_MANAGE_NETWORK_USAGE
অ্যাকশনকে সমর্থন করে। - একটি নেটওয়ার্ক পছন্দের স্ক্রীন যুক্ত করার বিষয়ে আরও তথ্যের জন্য, একটি পছন্দের কার্যকলাপ বাস্তবায়নের উপর Android প্রশিক্ষণ দেখুন।
অতিরিক্ত সম্পদ
এই বিষয় সম্পর্কে আরও জানতে, নিম্নলিখিত অতিরিক্ত সংস্থানগুলি দেখুন: