এপ্রিল 2013 আপডেট করুন: এটি করবেন না। ২০০৯ সালে যখন আমি প্রথম প্রশ্নের উত্তর দিয়েছিলাম তখন এটি কোনও ভাল ধারণা ছিল না এবং এটি এখন আসলে ভাল ধারণা নয়। এই উত্তরটি হ্যাকবডের কারণে দেখুন:
অ্যান্ড্রয়েডের ওরিয়েন্টেশন পরিবর্তনে অ্যাসিঙ্কটাস্কের সাথে পুনরায় লোডিং ক্রিয়াকলাপটি এড়িয়ে চলুন
যোগ android:configChanges="keyboardHidden|orientation"
আপনার AndroidManifest.xml করতে। আপনি নিজেরাই পরিচালনা করতে যা যা কনফিগারেশন পরিবর্তন হয় তা এটি সিস্টেমকে জানিয়ে দেয় - এই ক্ষেত্রে কিছুই না করে।
<activity android:name="MainActivity"
android:screenOrientation="portrait"
android:configChanges="keyboardHidden|orientation">
আরও বিশদের জন্য বিকাশকারী রেফারেন্স কনফিগারেশন দেখুন।
তবে আপনার অ্যাপ্লিকেশনটি যে কোনও সময় বাধাগ্রস্থ হতে পারে, যেমন একটি ফোন কল দ্বারা, সুতরাং আপনার অ্যাপ্লিকেশনটির বিরাম দেওয়া অবস্থায় তার সংরক্ষণের জন্য আপনার কোডটি যুক্ত করা উচিত।
আপডেট: অ্যান্ড্রয়েড ৩.২ হিসাবে আপনার "স্ক্রিনসাইজ" যুক্ত করতে হবে:
<activity
android:name="MainActivity"
android:screenOrientation="portrait"
android:configChanges="keyboardHidden|orientation|screenSize">
বিকাশকারী থেকে কনফিগারেশন হ্যান্ডলিংয়ের গাইড থেকে নিজেকে পরিবর্তন করুন
সতর্কতা: অ্যান্ড্রয়েড ৩.২ (এপিআই লেভেল ১৩) দিয়ে শুরু করে, ডিভাইস প্রতিকৃতি এবং ল্যান্ডস্কেপ অভিমুখের মধ্যে স্যুইচ করলে "স্ক্রিনের আকার" পরিবর্তন হয়। সুতরাং, আপনি যদি API স্তরের 13 বা ততোধিক (minSdkVersion এবং টার্গেটএসডিকি ভার্সন বৈশিষ্ট্য দ্বারা ঘোষিত হিসাবে) বিকাশকালে ওরিয়েন্টেশন পরিবর্তনের কারণে রানটাইম পুনরায় আর্টসগুলি প্রতিরোধ করতে চান, আপনাকে অবশ্যই "ওরিয়েন্টেশন" মানের সাথে "স্ক্রীনসাইজ" মানটি অন্তর্ভুক্ত করতে হবে। অর্থাৎ, আপনাকে অবশ্যই ঘোষণা করতে হবে
android:configChanges="orientation|screenSize"
। তবে, যদি আপনার অ্যাপ্লিকেশনটি এপিআই লেভেল 12 বা তার চেয়ে কমের লক্ষ্যবস্তু করে, তবে আপনার ক্রিয়াকলাপ সর্বদা এই কনফিগারেশন পরিবর্তনটিকে নিজেরাই পরিচালনা করে (কোনও অ্যান্ড্রয়েড 3.2 বা উচ্চতর ডিভাইসে চলাকালীন এই কনফিগারেশন পরিবর্তনটি আপনার ক্রিয়াকলাপটি পুনরায় আরম্ভ করে না)।