WebView একটি সাধারণভাবে ব্যবহৃত উপাদান যা স্টেট ম্যানেজমেন্টের জন্য একটি উন্নত সিস্টেম প্রদান করে। কনফিগারেশন পরিবর্তনের সময়ও একটি WebView তার স্টেট এবং স্ক্রোল অবস্থান বজায় রাখতে হবে। ব্যবহারকারী যখন ডিভাইসটি ঘোরান বা একটি ফোল্ডেবল ফোন উন্মোচন করেন তখন একটি WebView স্ক্রোল অবস্থান হারাতে পারে, যা ব্যবহারকারীকে WebView উপর থেকে পূর্ববর্তী স্ক্রোল অবস্থানে আবার স্ক্রোল করতে বাধ্য করে।
WebView তার অবস্থা পরিচালনা করতে ভালো। WebView পুনরায় তৈরির সংখ্যা কমাতে যতটা সম্ভব কনফিগারেশন পরিবর্তন পরিচালনা করে আপনি এই গুণমানের সুবিধা নিতে পারেন। আপনার অ্যাপটি কনফিগারেশন পরিবর্তনগুলি পরিচালনা করবে কারণ কার্যকলাপ পুনর্গঠন (সিস্টেমের কনফিগারেশন পরিবর্তনগুলি পরিচালনা করার পদ্ধতি) WebView পুনরায় তৈরি করে, যার ফলে WebView স্থিতি হারায়।
ফলাফল
আপনার অ্যাপের WebView উপাদানগুলি একাধিক কনফিগারেশন পরিবর্তনের পরেও তাদের অবস্থা এবং স্ক্রোল অবস্থান ধরে রাখে, আকার পরিবর্তন থেকে শুরু করে ওরিয়েন্টেশন পরিবর্তন এবং ডিভাইস ভাঁজ এবং আনফোল্ডিং পর্যন্ত।
সংস্করণের সামঞ্জস্য
এই বাস্তবায়নটি সমস্ত API স্তরের সাথে সামঞ্জস্যপূর্ণ।
নির্ভরতা
কোনোটিই নয়।
অবস্থা পরিচালনা করুন
কনফিগারেশন পরিবর্তনের সময় যতটা সম্ভব অ্যাক্টিভিটি রিক্রিয়েশন এড়িয়ে চলুন এবং WebView অবৈধ হতে দিন যাতে এটি তার অবস্থা ধরে রেখে আকার পরিবর্তন করতে পারে।
WebView অবস্থা পরিচালনা করতে:
- আপনার অ্যাপ দ্বারা পরিচালিত কনফিগারেশন পরিবর্তনগুলি ঘোষণা করুন
-
WebViewঅবস্থা বাতিল করুন
১. আপনার অ্যাপের AndroidManifest.xml ফাইলে কনফিগারেশন পরিবর্তন যোগ করুন
আপনার অ্যাপ দ্বারা পরিচালিত কনফিগারেশন পরিবর্তনগুলি (সিস্টেম দ্বারা নয়) নির্দিষ্ট করে কার্যকলাপ পুনর্নবীকরণ এড়িয়ে চলুন:
<activity
android:name=".MyActivity"
android:configChanges="screenLayout|orientation|screenSize
|keyboard|keyboardHidden|smallestScreenSize" />
2. যখনই আপনার অ্যাপ কনফিগারেশন পরিবর্তন পাবে তখনই WebView বাতিল করুন
কোটলিন
override fun onConfigurationChanged(newConfig: Configuration) {
super.onConfigurationChanged(newConfig)
webView.invalidate()
}
জাভা
@Override
public void onConfigurationChanged(@NonNull Configuration newConfig) {
super.onConfigurationChanged(newConfig);
webview.invalidate();
}
এই ধাপটি শুধুমাত্র ভিউ সিস্টেমের ক্ষেত্রে প্রযোজ্য, কারণ জেটপ্যাক কম্পোজকে Composable এলিমেন্টের সঠিকভাবে আকার পরিবর্তন করার জন্য কিছু বাতিল করার প্রয়োজন হয় না। তবে, কম্পোজ সঠিকভাবে পরিচালিত না হলে প্রায়শই একটি WebView পুনরায় তৈরি করে।
গুরুত্বপূর্ণ বিষয়সমূহ
-
android:configChanges: ম্যানিফেস্ট<activity>এলিমেন্টের অ্যাট্রিবিউট। অ্যাক্টিভিটি দ্বারা পরিচালিত কনফিগারেশন পরিবর্তনগুলি তালিকাভুক্ত করে। -
View#invalidate(): একটি পদ্ধতি যা একটি ভিউ পুনরায় অঙ্কন করে।WebViewদ্বারা উত্তরাধিকারসূত্রে প্রাপ্ত।
এই নির্দেশিকা ধারণকারী সংগ্রহগুলি
এই নির্দেশিকাটি এই কিউরেটেড কুইক গাইড সংগ্রহের অংশ যা বৃহত্তর অ্যান্ড্রয়েড ডেভেলপমেন্ট লক্ষ্যগুলিকে অন্তর্ভুক্ত করে:
