परफ़ॉर्मेंस क्लास, Android 12 में पहली बार लॉन्च किया गया एक स्टैंडर्ड है. परफ़ॉर्मेंस क्लास, डिवाइस की उन सुविधाओं के बारे में बताती है जो Android की बुनियादी ज़रूरी शर्तों से ज़्यादा होती हैं.
Android के हर वर्शन की परफ़ॉर्मेंस क्लास अलग-अलग होती है. इसे उस वर्शन के Android के साथ काम करने की जानकारी देने वाले दस्तावेज़ (सीडीडी) में बताया गया है. Android के साथ काम करने की जांच करने वाला टूल (सीटीएस), सीडीडी की ज़रूरी शर्तों की पुष्टि करता है.
Android पर काम करने वाले हर डिवाइस में, परफ़ॉर्मेंस क्लास की जानकारी होती है. डेवलपर, डिवाइस की परफ़ॉर्मेंस क्लास को रनटाइम पर देख सकते हैं. साथ ही, डिवाइस की क्षमताओं का पूरा फ़ायदा उठाने के लिए, बेहतर अनुभव दे सकते हैं.
किसी डिवाइस की परफ़ॉर्मेंस क्लास का लेवल जानने के लिए, Jetpack की Core परफ़ॉर्मेंस लाइब्रेरी का इस्तेमाल करें. यह लाइब्रेरी, डिवाइस की मीडिया परफ़ॉर्मेंस क्लास (एमपीसी) के लेवल की जानकारी देती है. यह जानकारी, बिल्ड वर्शन की जानकारी में दी गई होती है या Google Play services के डेटा के आधार पर दी जाती है.
अपनी Gradle फ़ाइल में काम के मॉड्यूल के लिए डिपेंडेंसी जोड़कर शुरू करें:
Kotlin
// Implementation of Jetpack Core library. implementation("androidx.core:core-ktx:1.12.0") // Enable APIs to query for device-reported performance class. implementation("androidx.core:core-performance:1.0.0") // Enable APIs to query Google Play services for performance class. implementation("androidx.core:core-performance-play-services:1.0.0")
Groovy
// Implementation of Jetpack Core library. implementation 'androidx.core:core-ktx:1.12.0' // Enable APIs to query for device-reported performance class. implementation 'androidx.core:core-performance:1.0.0' // Enable APIs to query Google Play services for performance class. implementation 'androidx.core:core-performance-play-services:1.0.0'
इसके बाद, अपने Application
के onCreate()
लाइफ़साइकल इवेंट में, DevicePerformance
लागू करने का कोई इंस्टेंस बनाएं. जैसे, PlayServicesDevicePerformance
. आपको अपने ऐप्लिकेशन में, इसे सिर्फ़ एक बार करना होगा.
Kotlin
import androidx.core.performance.play.services.PlayServicesDevicePerformance class MyApplication : Application() { lateinit var devicePerformance: DevicePerformance override fun onCreate() { // Use a class derived from the DevicePerformance interface devicePerformance = PlayServicesDevicePerformance(applicationContext) } }
Java
import androidx.core.performance.play.services.PlayServicesDevicePerformance; class MyApplication extends Application { DevicePerformance devicePerformance; @Override public void onCreate() { // Use a class derived from the DevicePerformance interface devicePerformance = new PlayServicesDevicePerformance(applicationContext); } }
इसके बाद, डिवाइस की सुविधाओं के आधार पर अपने ऐप्लिकेशन के अनुभव को बेहतर बनाने के लिए, mediaPerformanceClass
प्रॉपर्टी को फिर से पाया जा सकता है:
Kotlin
class MyActivity : Activity() { private lateinit var devicePerformance: DevicePerformance override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) // Note: Good app architecture is to use a dependency framework. See // https://developer.android.com/training/dependency-injection for more // information. devicePerformance = (application as MyApplication).devicePerformance } override fun onResume() { super.onResume() when { devicePerformance.mediaPerformanceClass >= Build.VERSION_CODES.VANILLA_ICE_CREAM -> { // MPC level 35 and later. // Provide the most premium experience for the highest performing devices. } devicePerformance.mediaPerformanceClass == Build.VERSION_CODES.UPSIDE_DOWN_CAKE -> { // MPC level 34. // Provide a high quality experience. } else -> { // MPC level 33, 31, 30, or undefined. // Remove extras to keep experience functional. } } } }
Java
class MyActivity extends Activity { private DevicePerformance devicePerformance; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Note: Good app architecture is to use a dependency framework. See // https://developer.android.com/training/dependency-injection for more // information. devicePerformance = ((MyApplication) getApplication()).devicePerformance; } @Override public void onResume() { super.onResume(); if (devicePerformance.getMediaPerformanceClass() >= Build.VERSION_CODES.VANILLA_ICE_CREAM) { // MPC level 35 and later. // Provide the most premium experience for the highest performing devices. } else if (devicePerformance.getMediaPerformanceClass() == Build.VERSION_CODES.UPSIDE_DOWN_CAKE) { // MPC level 34. // Provide a high quality experience. } else { // MPC level 33, 31, 30, or undefined. // Remove extras to keep experience functional. } } }
परफ़ॉर्मेंस क्लास के लेवल, आने वाले समय में भी काम करते रहेंगे. कोई डिवाइस, परफ़ॉर्मेंस क्लास को अपडेट किए बिना, प्लैटफ़ॉर्म के नए वर्शन पर अपग्रेड हो सकता है. उदाहरण के लिए, कोई ऐसा डिवाइस जो शुरुआत में परफ़ॉर्मेंस क्लास 33 के साथ काम करता है, उसे Android 14 पर अपग्रेड किया जा सकता है. साथ ही, अगर वह परफ़ॉर्मेंस क्लास 34 की ज़रूरी शर्तों को पूरा नहीं करता है, तो भी वह परफ़ॉर्मेंस क्लास 33 के साथ काम करने की जानकारी देना जारी रख सकता है. इससे, किसी खास Android वर्शन पर निर्भर किए बिना, डिवाइसों को एक साथ ग्रुप किया जा सकता है.
मीडिया परफ़ॉर्मेंस क्लास 35
MPC 35 को Android 15 में लॉन्च किया गया था. यह MPC 34 में बताई गई ज़रूरी शर्तों पर आधारित है. एमपीसी 35 से जुड़ी खास शर्तें, Android 15 सीडीडी में पब्लिश की गई हैं. एमपीसी 34 के तहत आने वाले सामान के लिए ज़्यादा ज़रूरी शर्तों के अलावा, सीडीडी में इन चीज़ों के लिए ज़रूरी शर्तें बताई गई हैं:
मीडिया
- डिकोड करने के दौरान फ़्रेम छोड़ना
- एचडीआर एडिटिंग
- डाइनैमिक कलर के पहलू
- पोर्ट्रेट का आसपेक्ट रेशियो
कैमरा
- JPEG_R
- वीडियो स्टेबलाइज़ेशन की सुविधा की झलक
ग्राफ़िक्स
- EGL एक्सटेंशन
- Vulkan स्ट्रक्चर
मीडिया परफ़ॉर्मेंस क्लास 34
MPC 34 को Android 14 में लॉन्च किया गया था. यह MPC 33 में बताई गई ज़रूरी शर्तों पर आधारित है. एमपीसी 34 की खास शर्तें, Android 14 सीडीडी में पब्लिश की गई हैं. एमपीसी 33 के तहत, सामान के लिए ज़्यादा ज़रूरी शर्तों के अलावा, सीडीडी में इन चीज़ों के लिए ज़रूरी शर्तें बताई गई हैं:
मीडिया
- AV1 हार्डवेयर डिकोडर में फ़िल्म ग्रेन इफ़ेक्ट की सुविधा
- AVIF बेसलाइन प्रोफ़ाइल
- AV1 एन्कोडर की परफ़ॉर्मेंस
- एचडीआर वीडियो कोडेक
- RGBA_1010102 कलर फ़ॉर्मैट
- YUV टेक्स्चर सैंपलिंग
- वीडियो एन्कोडिंग की क्वालिटी
- मल्टीचैनल ऑडियो मिक्सिंग
कैमरा
- नाइट मोड एक्सटेंशन
- एचडीआर मोड वाला मुख्य कैमरा
- चेहरे की पहचान करने वाला सीन मोड
सामान्य सेटिंग
- हार्डवेयर ओवरले
- एचडीआर डिसप्ले
मीडिया परफ़ॉर्मेंस क्लास 33
MPC 33 को Android 13 में लॉन्च किया गया था. यह MPC 31 में बताई गई ज़रूरी शर्तों पर आधारित है. एमपीसी 33 की खास ज़रूरी शर्तें, Android 13 सीडीडी में पब्लिश की गई हैं. एमपीसी 31 में आइटम के लिए ज़्यादा ज़रूरी शर्तों के अलावा, सीडीडी में इन चीज़ों के लिए ज़रूरी शर्तें बताई गई हैं:
मीडिया
- AV1 हार्डवेयर डिकोडर
- सुरक्षित हार्डवेयर डिकोडर
- डिकोडर को शुरू करने में लगने वाला समय
- ऑडियो के इंतज़ार का कुल समय
- वायर वाले हेडसेट और यूएसबी ऑडियो डिवाइस
- एमआईडीआई डिवाइस
- हार्डवेयर पर आधारित ट्रस्टेड एक्ज़ीक्यूशन एनवायरमेंट
कैमरा
- वीडियो स्टेबलाइज़ेशन की झलक
- स्लो मोशन में रिकॉर्डिंग करना
- अल्ट्रावाइड कैमरों के लिए कम से कम ज़ूम रेशियो
- एक साथ कई कैमरे
- लॉजिकल मल्टी-कैमरा
- स्ट्रीम के इस्तेमाल का उदाहरण
मीडिया परफ़ॉर्मेंस क्लास 31
MPC 31 को Android 12 में लॉन्च किया गया था. एमपीसी 31 की खास शर्तें, Android 12 के सीडीडी में पब्लिश की गई हैं. सीडीडी में इन चीज़ों से जुड़ी ज़रूरी शर्तों के बारे में बताया गया है:
मीडिया
- एक साथ चलने वाले वीडियो कोडेक सेशन
- एन्कोडर को शुरू करने में लगने वाला समय
- डिकोडर फ़्रेम ड्रॉप
- वीडियो को कोड में बदलने की क्वालिटी
कैमरा
- रिज़ॉल्यूशन और फ़्रेम रेट
- ऐप्लिकेशन शुरू होने और डेटा कैप्चर होने में लगने वाला समय
FULL
या इससे बेहतर हार्डवेयर लेवल- टाइमस्टैंप का सोर्स रीयलटाइम है
- RAW फ़ोटो खींचने की सुविधा
सामान्य सेटिंग
- मेमोरी
- डेटा पढ़ने और उसमें बदलाव करने की परफ़ॉर्मेंस
- स्क्रीन रिज़ॉल्यूशन
- स्क्रीन की सघनता
मीडिया परफ़ॉर्मेंस क्लास 30
MPC 30 में, MPC 31 की ज़रूरी शर्तों का एक सबसेट शामिल है. इससे डेवलपर, पुराने डिवाइसों पर भी बेहतर अनुभव दे सकते हैं. परफ़ॉर्मेंस क्लास से जुड़ी खास ज़रूरी शर्तों के बारे में, Android 11 CDD में बताया गया है.
आपके लिए सुझाव
- ध्यान दें: JavaScript बंद होने पर लिंक टेक्स्ट दिखता है
- ऐप्लिकेशन के शुरू होने में लगने वाला समय