ग्राफ़िक्स
इस टेबल में, androidx.graphics ग्रुप के सभी आर्टफ़ैक्ट की सूची दी गई है.
| सह-प्रॉडक्ट | स्टेबल रिलीज़ | रिलीज़ कैंडिडेट | बीटा रिलीज़ | ऐल्फ़ा रिलीज़ |
|---|---|---|---|---|
| graphics-core | 1.0.3 | - | - | - |
| graphics-path | 1.0.1 | - | - | 1.1.0-alpha01 |
| graphics-shapes | 1.1.0 | - | - | - |
डिपेंडेंसी का एलान करना
Graphics पर डिपेंडेंसी जोड़ने के लिए, आपको अपने प्रोजेक्ट में Google Maven रिपॉज़िटरी जोड़नी होगी. ज़्यादा जानकारी के लिए, Google की Maven रिपॉज़िटरी पढ़ें.
अपने ऐप्लिकेशन या मॉड्यूल के लिए, build.gradle फ़ाइल में उन आर्टफ़ैक्ट की डिपेंडेंसी जोड़ें जिनकी आपको ज़रूरत है:
ग्रूवी
dependencies { implementation "androidx.graphics:graphics-core:1.0.3" implementation "androidx.graphics:graphics-path:1.1.0-alpha01" implementation "androidx.graphics:graphics-shapes:1.1.0" }
Kotlin
dependencies { implementation("androidx.graphics:graphics-core:1.0.3") implementation("androidx.graphics:graphics-path:1.1.0-alpha01") implementation("androidx.graphics:graphics-shapes:1.1.0") }
डिपेंडेंसी के बारे में ज़्यादा जानने के लिए, बिल्ड डिपेंडेंसी जोड़ना लेख पढ़ें.
सुझाव/राय दें या शिकायत करें
आपके सुझाव, शिकायत या राय से Jetpack को बेहतर बनाने में मदद मिलती है. अगर आपको कोई नई समस्या मिलती है या आपके पास इस लाइब्रेरी को बेहतर बनाने के लिए सुझाव हैं, तो हमें बताएं. कृपया नई समस्या सबमिट करने से पहले, इस लाइब्रेरी में शामिल मौजूदा समस्याओं को देखें. स्टार बटन पर क्लिक करके, किसी मौजूदा समस्या के लिए वोट किया जा सकता है.
ज़्यादा जानकारी के लिए, Issue Tracker का दस्तावेज़ देखें.
इस आर्टफ़ैक्ट के लिए कोई रिलीज़ नोट नहीं है.
ग्राफ़िक्स वर्शन 1.1
वर्शन 1.1.0
22 अक्टूबर, 2025
androidx.graphics:graphics-*:1.1.0 रिलीज़ हो गया है. वर्शन 1.1.0 में ये बदलाव शामिल हैं.
वर्शन 1.1.0-rc01
10 सितंबर, 2025
androidx.graphics:graphics-*:1.1.0-rc01 रिलीज़ हो गया है. वर्शन 1.1.0-rc01 में ये बदलाव शामिल हैं.
वर्शन 1.1.0-beta01
30 जुलाई, 2025
androidx.graphics:graphics-*:1.1.0-beta01 रिलीज़ हो गया है. वर्शन 1.1.0-beta01 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- Kotlin 2.0 के साथ रिलीज़ किए गए प्रोजेक्ट के लिए, KGP 2.0.0 या इसके बाद के वर्शन का इस्तेमाल करना ज़रूरी है (Idb6b5)
mingwX64, js, और wasm कंपाइलेशन टारगेट जोड़ें. (I2c46a)
वर्शन 1.1.0-alpha01
11 दिसंबर, 2024
androidx.graphics:graphics-*:1.1.0-alpha01 रिलीज़ हो गया है. वर्शन 1.1.0-alpha01 में ये बदलाव शामिल हैं.
नई सुविधाएं
- मुख्य डेमो को फिर से तैयार करके, उसे सामान्य शेप एडिटर में बदल दिया गया है. इसकी मदद से, svg पाथ से शेप इंपोर्ट किए जा सकते हैं. साथ ही, ऑटोमैटिक प्रोसेस में छूटी हुई सुविधाओं को मैन्युअल तरीके से बदला जा सकता है. इसके अलावा, नतीजे को ऐसे कोड में एक्सपोर्ट किया जा सकता है जिसका इस्तेमाल प्रोडक्शन कोड में किया जा सकता है. (I1ac13)
- शेप की आउटलाइन की प्रोग्रेस के लिए, ऐंगल मेज़रमेंट को कर्व की लंबाई के मेज़रमेंट से बदलें. इससे, मॉर्फ़िंग के लिए ज़्यादा जटिल शेप का इस्तेमाल किया जा सकता है. (I75478) , I390dd
- हमने फ़ीचर मैपिंग एल्गोरिदम को बेहतर बनाया है, ताकि ज़्यादा से ज़्यादा बदलाव नैचुरल दिखें. (I83287)
एपीआई में हुए बदलाव
- SVG पाथ इंपोर्ट करने और सीरियलाइज़र की सुविधा जोड़ी गई. आम तौर पर, यह तरीका अपनाया जाता है:
- एसवीजी पाथ (एसवीजी के
pathएलिमेंट पर मौजूदdएट्रिब्यूट की वैल्यू) कोList<Feature>में बदलने के लिए, नएSvgPathParser.parseFeatures()का इस्तेमाल करें. - इसमें बदलाव किया जा सकता है. इसके बाद, इसे
FeatureSerializer.serialize()की मदद से स्ट्रिंग में बदला जा सकता है. - नतीजे के तौर पर मिली स्ट्रिंग का इस्तेमाल प्रोडक्शन कोड में किया जा सकता है. इसके लिए, इसे
FeatureSerializer.parse()की मदद से इंपोर्ट करें - ध्यान दें कि पहले और दूसरे चरण को सिर्फ़ एक बार पूरा किया जाता है. इसे नए ऐप्लिकेशन के साथ भी पूरा किया जा सकता है. प्रोडक्शन कोड को सिर्फ़ तीसरा चरण पूरा करना होगा. (I9bd00, b/371196190), (Ic3842), (If68ed), (I10251)
- एसवीजी पाथ (एसवीजी के
- पॉलीगॉन फ़ीचर और फ़ीचर टाइप दिखाता है. अब
List<Features>लेने वाले बेस कंस्ट्रक्टर की मदद से, ज़्यादा सामान्यRoundedPolygonsबनाए जा सकते हैं. सुविधाएं मुख्य रूप से क्यूबिक बेज़ियर कर्व की सूची होती हैं. हालांकि, इन्हें टैग किया जाता है, ताकि मॉर्फ़ एल्गोरिदम, शुरुआती और आखिरी शेप के बीच मैच कर सके. इसमें कॉन्वेक्स कॉर्नर को कॉन्वेक्स कॉर्नर और कॉनकेव कॉर्नर को कॉनकेव कॉर्नर पर मैप किया जाता है. (I61e76), (I1fc5c) watchosDeviceArm64केएमपी टारगेट और टारगेट kotlin 1.9 के लिए सपोर्ट जोड़ा गया. (Icf15d, b/364652024)
गड़बड़ियां ठीक की गईं
- जब आखिरी सुविधा खाली थी, तब एज केस ठीक किया गया. (I390dd)
RoundedPolygonको ज़्यादा असरदार बनाएं. (Ib862c, b/360888486)RoundedPolygonको शुरू करने के दौरान होने वाली गड़बड़ी को ठीक किया गया है. (I83ddb)- पॉलीगॉन के सेंटर का अनुमान लगाने वाले एल्गोरिदम में मौजूद गड़बड़ी को ठीक किया गया. (Ida147)
ग्राफ़िक शेप वर्शन 1.0
वर्शन 1.0.1
4 सितंबर, 2024
androidx.graphics:graphics-shapes:1.0.1, androidx.graphics:graphics-shapes-android:1.0.1, और androidx.graphics:graphics-shapes-desktop:1.0.1 रिलीज़ किए जाते हैं. वर्शन 1.0.1 में ये बदलाव शामिल हैं.
वर्शन 1.0.0
21 अगस्त, 2024
androidx.graphics:graphics-shapes:1.0.0, androidx.graphics:graphics-shapes-android:1.0.0, और androidx.graphics:graphics-shapes-desktop:1.0.0 रिलीज़ किए जाते हैं. वर्शन 1.0.0 में ये बदलाव शामिल हैं.
वर्शन 1.0.0-rc01
24 जुलाई, 2024
androidx.graphics:graphics-shapes:1.0.0-rc01, androidx.graphics:graphics-shapes-android:1.0.0-rc01, और androidx.graphics:graphics-shapes-desktop:1.0.0-rc01 रिलीज़ किए जाते हैं. वर्शन 1.0.0-rc01 में ये बदलाव शामिल हैं.
वर्शन 1.0.0-beta01
1 मई, 2024
androidx.graphics:graphics-shapes:1.0.0-beta01, androidx.graphics:graphics-shapes-android:1.0.0-beta01, और androidx.graphics:graphics-shapes-desktop:1.0.0-beta01 रिलीज़ किए जाते हैं. वर्शन 1.0.0-beta01 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- शेप को पहले से घुमाने की अनुमति दें, ताकि वे किसी दूसरी जगह से शुरू हो सकें. इस बदलाव की मदद से,
pillStarशेप की लाइनें, डिफ़ॉल्ट पॉइंट के बजाय किसी अन्य पॉइंट से शुरू की जा सकती हैं. यह विकल्प तब काम आ सकता है, जब आपको किसी शेप के पाथ को ऐनिमेट करना हो. इससे शेप की आउटलाइन पर किसी खास जगह से ड्राइंग शुरू की जा सकती है. (Ifbb4d, b/324303807) - Morph में
calculateBounds()फ़ंक्शन जोड़े गए हैं. ये फ़ंक्शन,RoundedPolygonपर मौजूद फ़ंक्शन के जैसे ही काम करते हैं. (I8a3b6, b/325463575)
वर्शन 1.0.0-alpha05
7 फ़रवरी, 2024
androidx.graphics:graphics-shapes:1.0.0-alpha05, androidx.graphics:graphics-shapes-android:1.0.0-alpha05, और androidx.graphics:graphics-shapes-desktop:1.0.0-alpha05 रिलीज़ किए जाते हैं. वर्शन 1.0.0-alpha05 में ये बदलाव शामिल हैं.
नई सुविधाएं
- लाइब्रेरी में अब
pill()औरpillStar()नए फ़ंक्शन उपलब्ध हैं. इनकी मदद से, इन गोल/स्टार वाले शेप को आसानी से बनाया जा सकता है. किसी शेप के लिए ज़रूरी सटीक बाउंड्री का हिसाब लगाने के लिए भी नए एपीआई उपलब्ध हैं. पिछली बाउंड्री, सिर्फ़ बेज़ियर कर्व ऐंकर और कंट्रोल पॉइंट के आधार पर अनुमानित की जाती थीं. साथ ही, ज़्यादा से ज़्यादा संभावित बाउंड्री का हिसाब लगाने के लिए भी नए एपीआई उपलब्ध हैं. अगर किसी कंटेनर में शेप को घुमाया जाता है, तो यह पता लगाने में मदद मिल सकती है कि उसे रखने वाले कंटेनर का साइज़ कितना होना चाहिए. (I71827)
एपीआई में हुए बदलाव
- अब सटीक और ज़्यादा से ज़्यादा बाउंड्री पाने के लिए, ज़्यादा विकल्प उपलब्ध हैं. (I6d49f, b/317286450)
गड़बड़ियां ठीक की गईं
- इन आकृतियों को स्ट्रोक किए गए पाथ के तौर पर बनाते समय, कभी-कभी रेंडरिंग से जुड़ी समस्याएं आती थीं. ऐसा इसलिए होता था, क्योंकि शून्य लंबाई वाले कर्व से जुड़ी रेंडरिंग की समस्या होती थी. इस बग को ठीक करने के लिए, शून्य लंबाई वाले सभी कर्व हटा दिए गए. इनकी ज़रूरत शेप को नहीं होती है. इसलिए, शेप से बने पाथ के ओवरहेड को भी सेव किया जाता है.
वर्शन 1.0.0-alpha04
13 दिसंबर, 2023
androidx.graphics:graphics-shapes:1.0.0-alpha04, androidx.graphics:graphics-shapes-android:1.0.0-alpha04, और androidx.graphics:graphics-shapes-desktop:1.0.0-alpha04 रिलीज़ किए जाते हैं. वर्शन 1.0.0-alpha04 में ये बदलाव शामिल हैं.
नई सुविधाएं
- इस रिलीज़ में, एपीआई में कई बदलाव किए गए हैं. साथ ही, गड़बड़ियां ठीक की गई हैं.
- एपीआई में किए गए कई बदलावों की वजह से, Shapes लाइब्रेरी KMP के साथ काम कर सकती है. इससे, Android के अलावा किसी अन्य कोड (जैसे कि Android से अलग Compose कोड) से कॉल करना आसान हो जाता है. उदाहरण के लिए, एपीआई में कोई Android टाइप नहीं है. जैसे, पिछले PointF, Matrix, और Path टाइप.
- परफ़ॉर्मेंस को बेहतर बनाने के लिए, एपीआई और लागू करने के तरीके में भी कई बदलाव किए गए हैं. खास तौर पर, ऑब्जेक्ट के असाइनमेंट (और कलेक्शन) को कम करने के लिए. उदाहरण के लिए, PointF से अलग-अलग फ़्लोट पैरामीटर पर जाने से, उन वर्टिकल को होल्ड करने के लिए कई अस्थायी PointF स्ट्रक्चर असाइन करने से बचा जा सकता है.
एपीआई में हुए बदलाव
Morph.asMutableCubicsकोMutableCubicsपर दोहराने वाले फ़ंक्शन से बदला गया.PointTransformerफ़ंक्शनल इंटरफ़ेस में बदलाव किया गया है. अब यहPointके x और y कोऑर्डिनेट लेता है औरTransformedResultदिखाता है.TransformedResultको बदले गए x और y कोऑर्डिनेट से बनाया जाता है (I6719e)- सार्वजनिक
Cubicकंस्ट्रक्टर को हटा दिया गया है और इसे फ़ैक्ट्री फ़ंक्शन बना दिया गया है. (I409ce) - Android के लिए खास तौर पर बनाए गए ट्रांसफ़ॉर्म और ड्रॉइंग एपीआई जोड़े गए (I079f6, b/292289543)
- Android डिपेंडेंसी हटाएं (Iadc1c, b/292289543)
- ऐंकर और कंट्रोल प्रॉपर्टी के नाम अब ज़्यादा समझ में आने वाले हैं (If13bd, b/294562941)
PointFपैरामीटर कोFloatपेयर में बदला गया (Id4705, b/276466399, b/290254314)progressअब सीधे तौर परMorphड्रॉइंग कमांड (Icdca2) को पास किया जाता है
गड़बड़ियां ठीक की गईं
- बड़े शेप बनाते समय होने वाली गड़बड़ी को ठीक किया गया. (I4fd66, b/313497325)
वर्शन 1.0.0-alpha03
7 जून, 2023
androidx.graphics:graphics-shapes:1.0.0-alpha03 रिलीज़ हो गया है. वर्शन 1.0.0-alpha03 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- नया
RoundedPolygon.rectangle()फ़ंक्शन जोड़ा गया (I78e7e, b/280322189) - स्टार और सर्कल फ़ंक्शन के नाम अब छोटे अक्षरों में लिखे जाते हैं.इन्हें
RoundedPolygonके कंपैनियन ऑब्जेक्ट के ज़रिए कॉल किया जाता है. उदाहरण के लिए,RoundedPolygon.star(...)(I14735)
गड़बड़ियां ठीक की गईं
- स्मूद करने की सुविधा से जुड़ी गड़बड़ी को ठीक किया गया (Ibf894)
- उस गड़बड़ी को ठीक किया गया है जो तब होती थी, जब शुरुआती और आखिरी शेप एक जैसे होते थे. कट के लिए, साइड में मौजूद जगह को बेहतर तरीके से डिस्ट्रिब्यूट करें. इसके लिए, सबसे पहले राउंडिंग के लिए मौजूद जगह का इस्तेमाल करें. इसके बाद, अगर जगह बची हो, तो स्मूदिंग के लिए इसका इस्तेमाल करें. (Ibd320, b/277936300)
वर्शन 1.0.0-alpha02
19 अप्रैल, 2023
androidx.graphics:graphics-shapes:1.0.0-alpha02 रिलीज़ हो गया है. वर्शन 1.0.0-alpha02 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- Polygon सुपरक्लास को उसकी सबक्लास,
RoundedPolygonके साथ मर्ज कर दिया गया है. अब सभी पॉलीगॉन, [ज़रूरी नहीं] राउंड किए गए पॉलीगॉन हैं. - स्टार फ़ंक्शन (जो अब भी पहले की तरह
RoundedPolygonदिखाता है) अबinnerRadiusRatioपैरामीटर के बजाय,innerRadiusवैल्यू लेता है. यह मौजूदा रेडियस पैरामीटर की तरह ही यूनिट में होता है. इससे चीज़ें आसान और ज़्यादा एक जैसी हो जाती हैं. साथ ही,numOuterVerticesपैरामीटर का नाम बदलकरnumVerticesPerRadiusकर दिया गया है, ताकि यह साफ़ तौर पर बताया जा सके कि इनर और आउटर रेडियस, दोनों पर एक ही नंबर लागू होता है. CornerRounding.radiusको पहले पॉलीगॉन के साइज़ के हिसाब से तय किया जाता था. हालांकि, यह एक तय वैल्यू है, न कि पॉलीगॉन के साइज़ के हिसाब से तय होने वाली वैल्यू. दस्तावेज़ अपडेट कर दिए गए हैं. साथ ही, एनोटेशन को ज़्यादा से ज़्यादा 1.0 तक सीमित करने की समस्या को ठीक कर दिया गया है.
वर्शन 1.0.0-alpha01
5 अप्रैल, 2023
Graphics-Shapes एक नई लाइब्रेरी है. इसकी मदद से, गोल किनारों वाली बहुभुजी आकृतियों को आसानी से बनाया और रेंडर किया जा सकता है. साथ ही, अलग-अलग आकृतियों के बीच आसानी से और अपने-आप मॉर्फ़िंग (ऐनिमेशन) की जा सकती है.
androidx.graphics:graphics-shapes:1.0.0-alpha01 रिलीज़ हो गया है. इस वर्शन को इंटरनल ब्रांच से रिलीज़ किया गया था.
नई सुविधाएं
- पॉलीगॉन एपीआई का इस्तेमाल करके, अपनी पसंद के मुताबिक वर्टेक्स की संख्या वाले रेगुलर और स्टार पॉलीगॉन बनाएं.
- कोनों के लिए राउंडिंग रेडियस और स्मूदिंग पैरामीटर तय करने के लिए,
CornerRoundingपैरामीटर का इस्तेमाल करें. इससे, गोल कोनों वाले बहुभुज आकार मिलते हैं. - नए
Morph(Polygon, Polygon)एपीआई का इस्तेमाल करके, “मॉर्फ़” शेप का अपने-आप हिसाब लगाएं. इसकी प्रोग्रेस को 0 से 1 के बीच सेट किया जा सकता है, ताकि शुरुआती और आखिरी शेप के बीच ऐनिमेशन किया जा सके. समय के साथ उस प्रोग्रेस को ऐनिमेट करें. साथ ही, हर फ़्रेम पर नतीजे को ड्रा करें, ताकि इन नए गोल आकार के बीच एक स्मूद ऐनिमेशन बनाया जा सके.
ग्राफ़िक्स पाथ वर्शन 1.0
वर्शन 1.1.0-alpha01
13 अगस्त, 2025
androidx.graphics:graphics-path:1.1.0-alpha01 रिलीज़ हो गया है. वर्शन 1.1.0-alpha01 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- कोनिक से क्वाडरेटिक में कन्वर्ज़न के लिए, कोड जोड़ें और इसे होस्ट प्लैटफ़ॉर्म पर इस्तेमाल करें. f059b1
वर्शन 1.0.1
1 मई, 2024
androidx.graphics:graphics-path:1.0.1 रिलीज़ हो गया है. वर्शन 1.0.1 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- कंपाइलर फ़्लैग में सुधार किए गए हैं.
वर्शन 1.0.0
6 मार्च, 2024
androidx.graphics:graphics-path:1.0.0 रिलीज़ हो गया है.
वर्शन 1.0.0-rc01
21 फ़रवरी, 2024
androidx.graphics:graphics-path:1.0.0-rc01 रिलीज़ हो गया है. वर्शन 1.0.0-rc01 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- एपीआई < 34 (Id4629) पर PathIterator की परफ़ॉर्मेंस को बेहतर बनाएं
वर्शन 1.0.0-beta02
10 जनवरी, 2024
इस रिलीज़ में, लाइब्रेरी के साइज़ को कम करने पर फ़ोकस किया गया है. नेटिव कोड की वजह से, लाइब्रेरी का साइज़ ज़रूरत से ज़्यादा था.
androidx.graphics:graphics-path:1.0.0-beta02 रिलीज़ हो गया है. वर्शन 1.0.0-beta02 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
libandroidx.graphics.path.soका साइज़ 96% कम किया गया. (I71397)libandroidx.graphics.path.soका साइज़ 5% कम करो. (I2da7c)androidx.graphics:graphics-pathके नेटिव कॉम्पोनेंट का साइज़ 43% तक कम किया गया है. (I8e40d)
वर्शन 1.0.0-beta01
29 नवंबर, 2023
androidx.graphics:graphics-path:1.0.0-beta01 रिलीज़ हो गया है. वर्शन 1.0.0-beta01 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- एक्सपेरिमेंट के तौर पर उपलब्ध
isAtLeastU()API (Ie9117, b/289269026) के इस्तेमाल को हटाया गया
गड़बड़ियां ठीक की गईं
- कई गड़बड़ियां ठीक की गई हैं और परफ़ॉर्मेंस में सुधार किया गया है. इसमें यह भी शामिल है कि लाइब्रेरी, कोनिक्स को कैसे मैनेज करती है.
वर्शन 1.0.0-alpha02
7 जून, 2023
androidx.graphics:graphics-path:1.0.0-alpha02 रिलीज़ हो गया है. इस वर्शन को इंटरनल ब्रांच में डेवलप किया गया है.
नई सुविधाएं
- प्लैटफ़ॉर्म के इंटरनल वर्शन की जाँच करने से जुड़ी समस्या को ठीक किया गया है. इसकी वजह से, Android 14 के प्रीव्यू वर्शन पर ऐप्लिकेशन चलाने में समस्याएं आ रही थीं. वर्शन की जाँच नहीं हो पाती थी. साथ ही, पिछली रिलीज़ पर काम करने का तरीका, Android 14 पर ठीक से काम नहीं करता था.
वर्शन 1.0.0-alpha01
22 मार्च, 2023
androidx.graphics:graphics-path:1.0.0-alpha01 रिलीज़ हो गया है. वर्शन 1.0.0-alpha01 में ये बदलाव शामिल हैं.
नई सुविधाएं
- इस नई लाइब्रेरी की मदद से, नए
PathIteratorएपीआई के ज़रिए पाथ डेटा के बारे में क्वेरी की जा सकती है. इस एपीआई का इस्तेमाल करके, कॉल करने वाले लोग पाथ ऑब्जेक्ट के सभी सेगमेंट को दोहरा सकते हैं. इससे उन्हें उन सेगमेंट के लिए ऑपरेशन और डेटा तय करने में मदद मिलती है. - यह लाइब्रेरी, Android 14 के प्रीव्यू में पेश किए गए मिलते-जुलते एपीआई का इस्तेमाल करती है. हालांकि, एपीआई का यह AndroidX वर्शन, एपीआई 21 तक के वर्शन पर भी काम करता है.
Graphics Core वर्शन 1.0
वर्शन 1.0.3
26 मार्च, 2025
androidx.graphics:graphics-core:1.0.3 रिलीज़ हो गया है. वर्शन 1.0.3 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- API<33 वाले कुछ डिवाइसों पर ड्रॉइंग करते समय, फ़ुल-स्क्रीन मोड में स्क्रीन के टिमटिमाने की समस्या ठीक की गई.
वर्शन 1.0.2
16 अक्टूबर, 2024
androidx.graphics:graphics-core:1.0.2 रिलीज़ हो गया है. वर्शन 1.0.2 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- इस समस्या को ठीक किया गया है. इसमें
SurfaceControlइंस्टेंस रिलीज़ होने के बाद भी, सिस्टम कंपोज़िटर उन्हें मैनेज करता रहता था. - उस समस्या को ठीक किया गया है जिसमें कम समय में होने वाली कार्रवाइयों के लिए इस्तेमाल किए जाने वाले
HardwareBufferइंस्टेंस को बंद करने के बाद भी, वह रिलीज़ नहीं होता था - Android 14 और इसके बाद के वर्शन वाले कुछ ऐसे डिवाइसों पर स्क्रीन के फ़्लिकर होने की समस्या ठीक की गई है जिन पर फ़्रंट बफ़र के इस्तेमाल का फ़्लैग काम नहीं करता था
वर्शन 1.0.1
4 सितंबर, 2024
androidx.graphics:graphics-core:1.0.1 रिलीज़ हो गया है. वर्शन 1.0.1 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- उस समस्या को ठीक किया गया है जिसकी वजह से मेमोरी के संसाधन कभी-कभी रिलीज़ नहीं होते थे.
वर्शन 1.0.0
29 मई, 2024
androidx.graphics:graphics-core:1.0.0 रिलीज़ हो गया है. वर्शन 1.0.0 में ये बदलाव शामिल हैं.
1.0.0 वर्शन की मुख्य सुविधाएं
- ग्राफ़िक्स-कोर लाइब्रेरी की आधिकारिक स्टेबल रिलीज़. इसमें 1.0.0-rc01 वर्शन की मामूली गड़बड़ियां ठीक की गई हैं और परफ़ॉर्मेंस को बेहतर बनाया गया है
वर्शन 1.0.0-rc01
17 अप्रैल, 2024
androidx.graphics:graphics-core:1.0.0-rc01 रिलीज़ हो गया है. इस वर्शन को इंटरनल ब्रांच में डेवलप किया गया है.
गड़बड़ियां ठीक की गईं
- Android 14 पर काम करने वाले कुछ Android डिवाइसों पर,
CanvasBufferedRendererAPIके साथ फ़ाइल डिस्क्रिप्टर के दो बार बंद होने की समस्या को ठीक किया गया है. - उस समस्या को ठीक किया गया है जिसकी वजह से
FrameBuffer, फ़्रेमबफ़र इंस्टेंस को ठीक से नहीं मिटा पाता था.
वर्शन 1.0.0-beta01
13 दिसंबर, 2023
androidx.graphics:graphics-core:1.0.0-beta01 रिलीज़ हो गया है. वर्शन 1.0.0-beta01 में ये बदलाव शामिल हैं.
नई सुविधाएं
- View hierarchy में, Android के 2D ग्राफ़िक्स एपीआई (Canvas + Paint) के साथ कम इंतज़ार समय वाली रेंडरिंग की सुविधा देने के लिए, एक नया
LowLatencyCanvasViewएपीआई लॉन्च किया गया है. CanvasBufferedRendererएपीआई लॉन्च किया गया है. इससे हार्डवेयर की मदद से,HardwareBufferपर कैनवस रेंडरिंग की जा सकेगी. इसका इस्तेमाल, यूज़र इंटरफ़ेस (यूआई) के किसी हिस्से को ऐसे बफ़र में बनाने के लिए किया जा सकता है जिसेBitmap.wrapHardwareBufferएपीआई का इस्तेमाल करके बिटमैप में बदला जा सकता है.
एपीआई में हुए बदलाव
CanvasBufferRenderer#releaseBufferएपीआई को अपडेट किया गया है, ताकि उसमें फ़ेंस पैरामीटर का इस्तेमाल करना ज़रूरी न हो. दस्तावेज़ों को अपडेट किया गया है, ताकि यह बताया जा सके किRenderResult#fenceकब दिखता है. (If1ea7)- ड्रॉ के अनुरोधों को शेड्यूल करने के लिए, कोरूटीन का इस्तेमाल करने की सुविधा देने के लिए,
drawमेंdrawतरीका जोड़ा गया.RenderRequestएक्ज़ीक्यूटर का इस्तेमाल करने वाले पिछले ड्रॉ मेथड का नाम बदलकरdrawAsyncकर दिया गया है.isClosed()तरीके को प्रॉपर्टी में बदला गया. (I5bff6) - बफ़र फ़ॉर्मैट पैरामीटर को
CanvasFrontBufferRendererमें दिखाया गया है, ताकि इसे सीधेCanvasBufferedRenderer.Builder#setBufferFormat(I0f272) पर मैप किया जा सके CanvasBufferedRendererमें हार्डवेयर से तेज़ी लाने की सुविधा के साथ कैनवस रेंडरिंग को मैनेज करने के लिए,CanvasBufferedRendererएपीआई बनाया गया.HardwareBufferइससे Android Q के लिए, बैकपोर्ट किया गया वर्शन उपलब्ध होता है. साथ ही, स्वैपचेन की डेप्थHardwareBuffersको कॉन्फ़िगर किया जा सकता है.ColorSpaceकॉन्फ़िगरेशन अब भी Android U+ तक ही सीमित है. हालांकि, कंपैटिबिलिटी लागू करने से डेवलपर को कोई कार्रवाई करने की ज़रूरत नहीं पड़ती. (I9b1d8)- फ़्रेम रेट को कंट्रोल करने के लिए,
SurfaceControlCompat.TransactionमेंsetFrameRate/clearFrameRateएपीआई जोड़ें. इससे डिफ़ॉल्ट ट्रांज़िशन के साथ-साथ, आसानी से होने वाले ट्रांज़िशन के लिए बदलाव की रणनीति को भी कंट्रोल किया जा सकेगा. (I6045c) setDataSpaceके लिए, ज़रूरी एपीआई लेवल को Android T से घटाकर Android Q कर दिया गया है. (I59c34)- उपयोगकर्ताओं को यह विकल्प देने के लिए,
onBufferReleasedएपीआई मेंonBufferReleasedकॉलबैक जोड़ा गया है, ताकि जब बफ़र नहीं दिखाया जा रहा हो, तब वे स्टेट को साफ़ कर सकें (I8a4e2)GLFrameBufferRenderer - कम इंतज़ार के समय में कॉन्टेंट रेंडर करने के सामान्य इस्तेमाल के उदाहरण के लिए,
LowLatencyCanvasViewबनाएं. यह व्यू हैरारकी रेंडरिंग के साथ सिंक हो जाता है. इससेSurfaceViewको मैनेज करने से जुड़ी मुश्किलों को कम किया जा सकता है. ऐसा इसलिए, क्योंकि यहSurfaceViewइंस्टेंस को अंदरूनी तौर पर मैनेज करता है. इस इंस्टेंस को सिंक किए गए और कम समय में रेंडर करने के लिए, स्क्रीन पर चालू/बंद किया जाता है. (I9253b) CanvasFrontBufferedRendererएपीआई में, कलरस्पेस कॉन्फ़िगरेशन की सुविधा जोड़ी गई. मल्टीबफ़र्ड कॉलबैक को अपडेट किया गया है, ताकि इसमें बैक बफ़र किए गएSurfaceControl(I24bd9) को भी शामिल किया जा सके
वर्शन 1.0.0-alpha05
6 सितंबर, 2023
androidx.graphics:graphics-core:1.0.0-alpha05 रिलीज़ हो गया है. वर्शन 1.0.0-alpha05 में ये बदलाव शामिल हैं.
नई सुविधाएं
GLFrameBufferRendererAPI लॉन्च किया गया. इससे OpenGL डिपेंडेंसी, स्वैप चेन कॉन्फ़िगरेशन, पिक्सल फ़ॉर्मैट, औरSurfaceControlकॉन्फ़िगरेशन का कॉम्बिनेशन मिलता है. (Ic775b)
एपीआई में हुए बदलाव
- हमने अलग-अलग कॉलबैक एपीआई में चौड़ाई और ऊंचाई के पैरामीटर जोड़े हैं, ताकि
SurfaceHolder#Callbacksसे डाइमेंशन पाइप किए जा सकें. (I7f9fc) - फ़्रंट और मल्टी बफ़र की गई, दोनों लेयर को हटाने के लिए क्लियर एपीआई जोड़ा गया. (Ic1f95)
GLFrontBufferedRendererमें इस्तेमाल की गई स्वैपचेन के बफ़र टाइप को कॉन्फ़िगर करने की सुविधा जोड़ी गई. (I07a13)- ज़्यादा से ज़्यादा बफ़र एंट्री के लिए,
GLFrameBufferRendererऔरIntRangeएनोटेशन पर गेटर के लिए Kotlin प्रॉपर्टी जोड़ी गई हैं. साथ ही,setFormat/setUsageके लिएHardwareBufferFormartऔरHardwareBufferUsageएनोटेशन जोड़े गए हैं. (Ief89e) - रिलीज़ फ़ेंस उपलब्ध कराने के लिए,
SurfaceControlलेन-देन परsetBufferएपीआई को अपडेट किया गया है. (Ice1bb) - डेटा स्पेस को कॉन्फ़िगर करने के साथ-साथ, ब्राइटनेस की बढ़ी हुई रेंज सेट करने के लिए,
SurfaceControlCompat.Transactionएपीआई जोड़े गए हैं. (Ic378d)
वर्शन 1.0.0-alpha04
7 जून, 2023
androidx.graphics:graphics-core:1.0.0-alpha04 रिलीज़ हो गया है. वर्शन 1.0.0-alpha04 में ये बदलाव शामिल हैं.
नई सुविधाएं
- इंतज़ार का समय कम करने वाले ग्राफ़िक के लिए,
CanvasFrontBufferedRendererको पेश किया गया. यहandroid.graphics.Canvasएपीआई के साथ-साथ, मौजूदा OpenGL को भी इस्तेमाल करता है
एपीआई में हुए बदलाव
SurfaceControlCompat.Transaction#setBufferएपीआई को अपडेट किया गया है, ताकि इससे नल वैल्यू वालेHardwareBufferइंस्टेंस बनाए जा सकें. इससे, प्लैटफ़ॉर्म के एपीआई (I173d7) को मिरर किया जा सकेगा- डबल बफ़र्ड रेंडरिंग का इस्तेमाल करने वाले तरीकों का नाम बदलकर मल्टी बफ़र्ड कर दें, क्योंकि बैकिंग स्वैपचेन में दो से ज़्यादा बफ़र हो सकते हैं. (I830d7)
- Canvas API का इस्तेमाल करके, फ़्रंट बफ़र्ड रेंडरिंग सिस्टम का फ़ायदा पाने के लिए, 3ps को अनुमति देने के लिए
CanvasFrontBufferedRendererAPI बनाएं. (Ibfc29)
गड़बड़ियां ठीक की गईं
- उस समस्या को ठीक किया गया है जिसमें
GLFrontBufferedRenderer, गतिविधि को फिर से शुरू करने के बाद कॉन्टेंट रेंडर नहीं करता था. - उस समस्या को ठीक किया गया है जिसमें बफ़र किए गए कॉन्टेंट को समय से पहले मिटा दिया जाता था.
- उस समस्या को ठीक किया गया है जिसमें कम लेटेंसी वाले ग्राफ़िक्स एपीआई रिलीज़ होने के बाद,
SurfaceHolder.Callbacksनहीं हटाया जाता था.
वर्शन 1.0.0-alpha03
22 मार्च, 2023
androidx.graphics:graphics-core:1.0.0-alpha03 रिलीज़ हो गया है. वर्शन 1.0.0-alpha03 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
GLFrontBufferedRendererकॉलबैक को अपडेट किया गया है, ताकिBufferInfoऑब्जेक्ट दिया जा सके. इसमें बफ़र की चौड़ाई/ऊंचाई के साथ-साथ फ़्रेम बफ़र आइडेंटिफ़ायर भी शामिल होता है. इसका इस्तेमाल, इंटरमीडिएट स्क्रैच बफ़र में रेंडर करने के बाद, ओरिजनल डेस्टिनेशन को फिर से टारगेट करने के लिए किया जा सकता है. (I7fe20)SyncFenceकोSyncFenceCompatपर स्टैटिक फ़ैक्ट्री मेथड में बदला गया.- SyncFence बनाने के लिए,
eglDupNativeFenceFDANDROIDके लिए सार्वजनिक तौर पर उपलब्ध कंपैटिबिलिटी के तरीके को हटा दिया गया है. इसके बजाय,SyncFenceCompatके लिए फ़ैक्ट्री के तरीके का इस्तेमाल किया जाएगा. ऐसा इसलिए किया जाता है, ताकि यह पक्का किया जा सके कि सभी एपीआई लेवल पर, सभी एपीआई सर्फ़ेस परSyncFenceको सही तरीके से लागू किया गया हो. (I849bb) FrameBufferRendererऔरSyncStrategyके लिए दस्तावेज़ जोड़ा गया.FrameBufferRenderer+FrameBuffer+FrameBufferPoolकोandroidx.graphics.openglपैकेज में ले जाया गयाSyncStrategyकोandroidx.graphics.openglपैकेज में ले जाया गयाRenderCallback#onDrawदस्तावेज़ अपडेट किए गएRenderCallback#obtainFrameBufferका अपडेट किया गया दस्तावेज़. एपीआई को लागू करने वाले व्यक्ति की यह ज़िम्मेदारी है कि वहFrameBuffer.closeको कॉल करेonDrawCompleteको अपडेट किया गया है, ताकि यह बताया जा सके कि डिसप्ले के लिए कॉन्टेंट भेजने की ज़िम्मेदारी उपभोक्ताओं की है- फ़्रेमवर्क को मिरर करने के लिए,
SyncFenceकंपैटबिलिटी इंटरफ़ेस/क्लास कोandroidx.hardwareपैकेज में ले जाया गया SyncFenceएपीआई का नाम बदलकरSyncFenceV19कर दिया गया है. साथ ही, इसे निजी बना दिया गया है, ताकिSyncFenceCompatके इस्तेमाल को एक साथ किया जा सके.SyncFenceCompat, फ़्रेमवर्क केSyncFenceएपीआई का इस्तेमाल करता है. (I5149c)
GLFrontBufferedRenderer#cancelऔरGLFrontBufferedRenderer#executeतरीके जोड़े गए. पहले वाला तरीका, हथेली के स्पर्श को खारिज करने की स्थितियों में काम आता है. इसमें, फ़्रंट बफ़र में रेंडरिंग को रद्द कर दिया जाता है और फ़्रंट बफ़र को छिपा दिया जाता है. बाद वाला तरीका, ऐसे मामलों में काम आता है जहां रेंडर शेड्यूल किए बिना, GL थ्रेड पर ऑब्जेक्ट में बदलाव करना होता है. (If0b7f)- डबल बफ़र्ड लेयर में सीधे तौर पर रेंडर करने के लिए, एपीआई जोड़ें. इससे गेम को फिर से शुरू करने के बाद सीन को फिर से रेंडर करने में मदद मिलती है. साथ ही, उपभोक्ताओं को यह तय करने का मौका मिलता है कि उन्हें किस सीन को रेंडर करने के लिए, डाइनैमिक तरीके से फ़्रंट बफ़र्ड रेंडरिंग का इस्तेमाल कब करना है. (Ied56c)
SurfaceControlCompat.Builderमें नया एपीआई जोड़ा गया है. इससे,SurfaceViewके मौजूदा तरीके के अलावा, किसी दूसरेSurfaceControlइंस्टेंस से पैरंटSurfaceControlको कॉन्फ़िगर किया जा सकेगा. (I1d1b6)- बंद किए गए-छिपाए गए फ़ंक्शन के ज़्यादातर रिटर्न टाइप में null वैल्यू हो सकती है (Ibf7b0)
EGL_ANDROID_get_native_client_bufferएक्सटेंशन कॉन्स्टेंट जोड़ा गया है. इससे यह क्वेरी की जा सकती है कि Android डिवाइस,HardwareBufferइंस्टेंस कोEGLClientBufferऑब्जेक्ट में इंपोर्ट करने की सुविधा के साथ काम करता है या नहीं. इन ऑब्जेक्ट कोEGLImageइंस्टेंस के तौर पर इस्तेमाल किया जा सकता है. (Iad767)@JvmDefaultWithCompatibilityएनोटेशन जोड़ा गया (I8f206)
वर्शन 1.0.0-alpha02
9 नवंबर, 2022
androidx.graphics:graphics-core:1.0.0-alpha02 रिलीज़ हो गया है. वर्शन 1.0.0-alpha02 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- Android S (I0a035) में पेश किए गए
addTransactionCommitListenerके लिए,RequiresApiएनोटेशन मौजूद न होने की समस्या ठीक की गई - अपडेट किया गया
onDraw<Front/Double>बफ़र कॉलबैक, ताकि ट्रांसफ़ॉर्म मैट्रिक्स दिया जा सके. उपभोक्ता, मौजूदा बफ़र की चौड़ाई/ऊंचाई के साथ-साथ इसे अपने वर्टेक्स शेडर को पास कर सकते हैं. उपयोगकर्ताओं को इन पैरामीटर का इस्तेमाल करके, अपने OpenGL रेंडरिंग कोड को पहले से रोटेट करना होगा. (I82f9e)
गड़बड़ियां ठीक की गईं
SurfaceControlट्रांज़ैक्शन जारी करने से पहले बफ़र को पहले से घुमाकर, ग्राफ़िक्स की लेटेन्सी को बेहतर बनाया गया है.- उस समस्या को ठीक किया गया है जिसमें गड़बड़ी के लॉग में गड़बड़ी 300d (EGL_BAD_SURFACE) दिखती थी.
- उस समस्या को ठीक किया गया है जिसमें
GLFrontBufferedRendererका इस्तेमाल करने वाली गतिविधि को फिर से शुरू करने के बाद,GLFrontBufferedRendererअमान्य हो जाता था. - इमुलेटर और ChromeOS डिवाइसों के लिए बेहतर सहायता उपलब्ध कराई गई है.
- उस समस्या को ठीक किया गया है जिसमें बफ़र की गई फ़्रंट लेयर समय से पहले छिप जाती थी.
वर्शन 1.0.0-alpha01
24 अक्टूबर, 2022
androidx.graphics:graphics-core:1.0.0-alpha01 रिलीज़ हो गया है. वर्शन 1.0.0-alpha01 में ये बदलाव शामिल हैं.
नई सुविधाएं
- ग्राफ़िक्स कोर AndroidX लाइब्रेरी की शुरुआती रिलीज़. इसमें, स्टाइलस इनपुट जैसे कम इंतज़ार के समय वाले इस्तेमाल के मामलों के लिए एपीआई शामिल हैं. इसमें OpenGL के इस्तेमाल के लिए, कुछ हेल्पर एपीआई भी शामिल किए गए हैं.
एपीआई में हुए बदलाव
- इसमें
GLFrontBufferedRendererको शामिल किया गया है. इससे फ़्रंट और मल्टी-बफ़र्ड रेंडरिंग में मदद मिलती है. साथ ही, कम इंतज़ार के समय और अच्छी क्वालिटी वाली रेंडरिंग का आउटपुट मिलता है. - अलग-अलग Surface उपलब्ध कराने वाली कंपनियों के लिए, OpenGL रेंडरिंग में मदद करने के लिए
GLRendererAPI लॉन्च किया गया है. जैसे,SurfaceView,TextureViewवगैरह.