নেভিগেশন মানচিত্র মিথস্ক্রিয়া সর্বোত্তম অনুশীলন

এই পৃষ্ঠায় আপনার অ্যাপে নেভিগেশন ম্যাপ ব্যবহার করার সর্বোত্তম পদ্ধতি ব্যাখ্যা করা হয়েছে।

যখনই সম্ভব, NavigationView এর পরিবর্তে SupportNavigationFragment ব্যবহার করুন।

SupportNavigationFragment হলো NavigationView লাইফসাইকেল কলব্যাকগুলো সুবিধাজনকভাবে পরিচালনা করার জন্য একটি র‍্যাপার, ফলে আপনাকে এই কলব্যাকগুলো আলাদাভাবে পরিচালনা করতে হয় না। এই পদ্ধতিতে ভুলের সম্ভাবনা কম এবং আপনার অ্যাপে নেভিগেশন ব্যবহারের জন্য এটিই সবচেয়ে পছন্দের উপায়। SupportNavigationFragment ব্যবহার করার সময়, NavigationView লাইফসাইকেল ইভেন্টগুলো যেন কল না করা হয়, সেদিকে খেয়াল রাখবেন।

NavigationView ব্যবহার করলে, লাইফসাইকেল মেথড কল করার সময় স্ট্রিক্ট অর্ডারিং ব্যবহার করুন।

NavigationView নেভিগেশন ম্যাপ ধারণ করে এবং অ্যান্ড্রয়েড অ্যাক্টিভিটি ও ফ্র্যাগমেন্টের মতো লাইফসাইকেল ইভেন্টগুলোকে নিবিড়ভাবে অনুসরণ করে, এবং এই লাইফসাইকেল ইভেন্টগুলো সংঘটিত হলে নির্দিষ্ট পদক্ষেপ গ্রহণ করে। NavigationView NavigationView#onCreateNavigationView#onStart একাধিক ইনিশিয়ালাইজেশন, NavigationView#onStopNavigationView#onDestroy ক্লিনআপ এবং অন্যান্য লাইফসাইকেল ইভেন্ট প্রক্রিয়াকরণের সময়ও এই কাজগুলো সম্পন্ন করে।

NavigationView লাইফসাইকেল মেথডগুলোর অর্থ Android অ্যাক্টিভিটি বা ফ্র্যাগমেন্টের মতোই। উদাহরণস্বরূপ, NavigationView এর onCreate() মেথডটি Android অ্যাক্টিভিটি বা ফ্র্যাগমেন্টের লাইফসাইকেল কলব্যাকের মতোই কাজ করে এবং এটি সেই কলব্যাক দ্বারাই কল করা উচিত। যেহেতু NavigationView এর লাইফসাইকেল কলব্যাকগুলো Android লাইফসাইকেল কলব্যাকের উপর ভিত্তি করে তৈরি এবং একই ক্রমে কল করা হয়, তাই এই NavigationView মেথডগুলোর একটি নির্দিষ্ট ক্রম অনুসরণ করা আবশ্যক। অন্যথায়, আপনি মেমরি লিক , UI ত্রুটি, অবস্থান আপডেট না হওয়া এবং অন্যান্য সমস্যার সম্মুখীন হতে পারেন।

অ্যান্ড্রয়েড অ্যাক্টিভিটি লাইফসাইকেল সম্পর্কে আরও তথ্যের জন্য, অ্যান্ড্রয়েড ডেভেলপার ডকুমেন্টেশনের অ্যাক্টিভিটি-লাইফসাইকেল কনসেপ্টস বিভাগটি দেখুন।

নিম্নলিখিত সারণিতে দেখানো হয়েছে যে, নির্দিষ্ট লাইফসাইকেল মেথডগুলোর পরে অন্যান্য লাইফসাইকেল মেথডগুলো কখন আহ্বান করা উচিত:

জীবনচক্র পদ্ধতি অ্যাক্টিভিটি লাইফসাইকেলের কোন পর্যায়ে আহ্বান করা হয়েছে কোন লাইফসাইকেল পদ্ধতির পরে আহ্বান করা হয়েছে
onConfigurationChanged() যখন UI ফোরগ্রাউন্ডে থাকে এবং কনফিগারেশন পরিবর্তিত হয়, তখন এটি কার্যকর হয়। সর্বদা onStart() এর পরে
onTrimMemory() যখন কোনো অ্যাক্টিভিটি ব্যাকগ্রাউন্ডে থাকে তখন এটি চালু হয়। সর্বদা onPause() এর পরে
onSaveInstance() কোনো কার্যকলাপ ধ্বংস হওয়ার আগে এটি কার্যকর হয়। সর্বদা onStop() এর পরে

প্রথমে সংশ্লিষ্ট ক্লোজিং মেথডটি কল না করে এই লাইফসাইকেল মেথডগুলো একাধিকবার কল করবেন না। এছাড়াও, মনে রাখবেন যে, যদি এই অ্যান্ড্রয়েড লাইফসাইকেল কলব্যাকগুলোর কিছু অ্যাপ নিজেই পরিচালনা করে, এবং তৈরি বা চালু হওয়ার পরে ফ্র্যাগমেন্টে NavigationView যোগ করা হয়, তবে নেভিগেশন SDK সঠিকভাবে ইনিশিয়ালাইজ করার জন্য অ্যাপটির উচিত নির্দিষ্ট মেথডগুলো যথাযথ ক্রমে নিজেরাই কল করা।

এই পদ্ধতিগুলো ব্যবহারের বিষয়ে অতিরিক্ত নির্দেশনার জন্য নেভিগেশন এসডিকে ডেমো অ্যাপটি দেখুন।

NavigationView ব্যবহার করলে, লাইফসাইকেল ইভেন্টগুলো অ্যাক্টিভিটি বা ফ্র্যাগমেন্ট থেকে কল করুন, উভয় জায়গা থেকে নয়।

লাইফসাইকেল মেথডগুলোর কঠোর ক্রম বজায় রাখতে, এই ইভেন্টগুলোকে অ্যাক্টিভিটি বা ফ্র্যাগমেন্ট লাইফসাইকেল কলব্যাক থেকে কল করুন, যেগুলো ইভেন্টগুলোকে ক্রমানুসারে গ্রহণ করে। এই পদ্ধতিটি নিশ্চিত করে যে অ্যাপগুলোকে ফ্র্যাগমেন্ট এবং অ্যাক্টিভিটির মধ্যে সমন্বয় করতে হবে না এবং এর ফলে ডুপ্লিকেট কলের সৃষ্টি হবে না।