বহিঃস্কার অবস্তা

এসসি পাওয়ার স্টেটস

একটি চিপ (এসসি) এ থাকা সিস্টেমের পাওয়ার স্টেটগুলি হ'ল: অন, নিষ্ক্রিয় এবং স্থগিত। "চালু" হয় যখন এসসি চালু হয়। "অলস" একটি মাঝারি শক্তি মোড যেখানে এসসি চালিত হয় তবে কোনও কাজ সম্পাদন করে না। "সাসপেন্ড" একটি নিম্ন-শক্তি মোড যেখানে এসসি চালিত হয় না। এই মোডে ডিভাইসের পাওয়ার খরচ সাধারণত "চালু" মোডের চেয়ে 100 গুণ কম হয়।

নন-ওয়েক-আপ সেন্সর

নন-ওয়েক-আপ সেন্সর হ'ল সেন্সর যা এসসিকে স্থগিত মোডে যেতে বাধা দেয় না এবং তথ্য প্রতিবেদন করতে এসসিকে জাগ্রত করবেন না। বিশেষত, ড্রাইভারদের ওয়েক-লক ধরে রাখার অনুমতি নেই। স্ক্রিন বন্ধ থাকাকালীন নন-ওয়েক-আপ সেন্সরগুলির কাছ থেকে ইভেন্টগুলি গ্রহণ করতে ইচ্ছুক হলে আংশিক জাগ্রত লক রাখা অ্যাপ্লিকেশনগুলির দায়িত্ব। এসসি স্থগিত মোডে থাকাকালীন সেন্সরগুলি অবশ্যই ইভেন্টগুলি ফাংশন এবং উত্পন্ন করা চালিয়ে যেতে হবে, যা একটি হার্ডওয়্যার ফিফোতে রাখা হয়। (আরও তথ্যের জন্য ব্যাচিং দেখুন।) এসইসি জেগে উঠলে ফিফোর ইভেন্টগুলি অ্যাপ্লিকেশনগুলিতে সরবরাহ করা হয়। FIFO যদি সমস্ত ইভেন্ট সংরক্ষণের জন্য খুব ছোট হয় তবে পুরানো ইভেন্টগুলি হারিয়ে যায়; সর্বশেষতম ডেটা সর্বশেষতম ডেটা সমন্বিত করতে বাদ দেওয়া হয়। চূড়ান্ত ক্ষেত্রে যেখানে ফিফোর অস্তিত্ব নেই, এসসি স্থগিত মোডে থাকা অবস্থায় উত্পন্ন সমস্ত ইভেন্টগুলি হারিয়ে যায় are একটি ব্যতিক্রম হ'ল প্রতিটি অন-চেঞ্জ সেন্সরের সর্বশেষতম ইভেন্ট: শেষ ইভেন্টটি ফিফোর বাইরেসংরক্ষণ করতে হবে যাতে এটি হারাতে না পারে।

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

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

জাগ্রত সেন্সর

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

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

কীভাবে ওয়েক-আপ এবং নন-ওয়েক-আপ সেন্সরগুলি সংজ্ঞায়িত করবেন?

কিটকাট অবধি, সেন্সরটি কোনও ওয়েক-আপ হোক বা নন-ওয়েক-আপ সেন্সরটি সেন্সর প্রকারের দ্বারা নির্ধারিত হয়েছিল: বেশিরভাগই নন-ওয়েক-আপ সেন্সর ছিল, প্রক্সিমিটি সেন্সর এবং উল্লেখযোগ্য গতি আবিষ্কারককে বাদ দিয়ে।

এল থেকে শুরু করে, প্রদত্ত সেন্সরটি একটি জাগ্রত সেন্সর কিনা তা সেন্সর সংজ্ঞাতে কোনও পতাকা দ্বারা নির্দিষ্ট করা হয়নি। বেশিরভাগ সেন্সরগুলি একই সেন্সরের জেগে ওঠা এবং নন-ওয়েক-আপ রূপগুলির সংজ্ঞা দিয়ে সংজ্ঞায়িত করা যায়, এক্ষেত্রে তাদের অবশ্যই দুটি স্বতন্ত্র সেন্সর হিসাবে আচরণ করতে হবে, একে অপরের সাথে ইন্টারঅ্যাক্ট না করে। আরও তথ্যের জন্য ইন্টারঅ্যাকশন দেখুন।

যদি না সেন্সর টাইপ সংজ্ঞা অন্যথায় নিদিষ্ট, এটা এক WAKE আপ সেন্সর এবং প্রতিটি সেন্সর তালিকাভুক্ত টাইপ জন্য এক অ জেগে ওঠার সেন্সর বাস্তবায়ন বাঞ্ছনীয় সেন্সর ধরনের । প্রতিটি সেন্সর প্রকারের সংজ্ঞাতে দেখুন SensorManager.getDefaultSensor(sensorType) সেন্সর টাইপ) কোন সেন্সর (জাগ্রত বা নন-ওয়েক-আপ) ফিরে আসবে তা দেখুন। এটি সেন্সর যা বেশিরভাগ অ্যাপ্লিকেশন ব্যবহার করবে।