রানটাইম রচনা করুন
androidx.compose.runtime
androidx.compose.runtime.rxjava2
androidx.compose.runtime.rxjava3
androidx.compose.runtime.saveable
androidx.compose.runtime.snapshots
( সমস্ত কম্পোজ প্যাকেজের জন্য API রেফারেন্স ডক্স দেখুন )
সর্বশেষ আপডেট | স্থিতিশীল রিলিজ | প্রার্থী মুক্তি | বিটা রিলিজ | আলফা রিলিজ |
---|---|---|---|---|
আগস্ট 21, 2024 | 1.6.8 | 1.7.0-rc01 | - | - |
গঠন
কম্পোজ হল androidx
এর মধ্যে 7টি Maven Group Id-এর সংমিশ্রণ। প্রতিটি গোষ্ঠীতে কার্যকারিতার একটি লক্ষ্যযুক্ত উপসেট রয়েছে, প্রতিটির নিজস্ব রিলিজ নোটের সেট রয়েছে।
এই টেবিলটি রিলিজ নোটের প্রতিটি সেটের গ্রুপ এবং লিঙ্কগুলি ব্যাখ্যা করে।
গ্রুপ | বর্ণনা |
---|---|
compose.animation | ব্যবহারকারীর অভিজ্ঞতাকে সমৃদ্ধ করতে তাদের জেটপ্যাক রচনা অ্যাপ্লিকেশনগুলিতে অ্যানিমেশন তৈরি করুন। |
compose.compiler | @Composable ফাংশন ট্রান্সফর্ম করুন এবং একটি Kotlin কম্পাইলার প্লাগইন দিয়ে অপ্টিমাইজেশান সক্ষম করুন। |
compose.foundation | বিল্ডিং ব্লক ব্যবহার করার জন্য প্রস্তুত সহ জেটপ্যাক কম্পোজ অ্যাপ্লিকেশন লিখুন এবং আপনার নিজস্ব ডিজাইন সিস্টেম টুকরা তৈরি করতে ভিত্তি প্রসারিত করুন। |
compose.material | মেটেরিয়াল ডিজাইন কম্পোনেন্ট ব্যবহারের জন্য প্রস্তুত জেটপ্যাক কম্পোজ UI তৈরি করুন। এটি রচনার উচ্চ স্তরের এন্ট্রি পয়েন্ট, যা www.material.io-তে বর্ণিত উপাদানগুলির সাথে মেলে এমন উপাদানগুলি প্রদান করার জন্য ডিজাইন করা হয়েছে৷ |
compose.material3 | মেটেরিয়াল ডিজাইন 3 উপাদান সহ জেটপ্যাক কম্পোজ UI তৈরি করুন, মেটেরিয়াল ডিজাইনের পরবর্তী বিবর্তন। মেটেরিয়াল 3-এ আপডেটেড থিমিং এবং উপাদান এবং মেটেরিয়াল ইউ ব্যক্তিগতকরণ বৈশিষ্ট্য রয়েছে যেমন ডায়নামিক কালার, এবং নতুন Android 12 ভিজ্যুয়াল স্টাইল এবং সিস্টেম UI এর সাথে সমন্বয় করার জন্য ডিজাইন করা হয়েছে। |
compose.runtime | কম্পোজের প্রোগ্রামিং মডেল এবং স্টেট ম্যানেজমেন্টের মৌলিক বিল্ডিং ব্লক এবং কম্পোজ কম্পাইলার প্লাগইনকে লক্ষ্য করার জন্য মূল রানটাইম। |
compose.ui | লেআউট, অঙ্কন এবং ইনপুট সহ ডিভাইসের সাথে ইন্টারঅ্যাক্ট করার জন্য কম্পোজ UI এর মৌলিক উপাদানগুলি প্রয়োজন। |
নির্ভরতা ঘোষণা করা
রচনার উপর নির্ভরতা যোগ করতে, আপনাকে অবশ্যই আপনার প্রকল্পে Google Maven সংগ্রহস্থল যোগ করতে হবে। আরও তথ্যের জন্য Google এর Maven সংগ্রহস্থল পড়ুন।
আপনার অ্যাপ বা মডিউলের জন্য build.gradle
ফাইলে আপনার প্রয়োজনীয় আর্টিফ্যাক্টগুলির জন্য নির্ভরতা যোগ করুন:
গ্রোভি
dependencies { implementation "androidx.compose.runtime:runtime:1.6.8" implementation "androidx.compose.runtime:runtime-livedata:1.6.8" implementation "androidx.compose.runtime:runtime-rxjava2:1.6.8" } android { buildFeatures { compose true } composeOptions { kotlinCompilerExtensionVersion = "1.5.15" } kotlinOptions { jvmTarget = "1.8" } }
কোটলিন
dependencies { implementation("androidx.compose.runtime:runtime:1.6.8") implementation("androidx.compose.runtime:runtime-livedata:1.6.8") implementation("androidx.compose.runtime:runtime-rxjava2:1.6.8") } android { buildFeatures { compose = true } composeOptions { kotlinCompilerExtensionVersion = "1.5.15" } kotlinOptions { jvmTarget = "1.8" } }
নির্ভরতা সম্পর্কে আরও তথ্যের জন্য, বিল্ড নির্ভরতা যুক্ত করুন দেখুন।
প্রতিক্রিয়া
আপনার প্রতিক্রিয়া জেটপ্যাককে আরও ভাল করতে সাহায্য করে। আপনি যদি নতুন সমস্যা আবিষ্কার করেন বা এই লাইব্রেরির উন্নতির জন্য ধারনা পান তাহলে আমাদের জানান। আপনি একটি নতুন তৈরি করার আগে অনুগ্রহ করে এই লাইব্রেরিতে বিদ্যমান সমস্যাগুলি দেখুন৷ আপনি তারকা বোতামে ক্লিক করে একটি বিদ্যমান সমস্যায় আপনার ভোট যোগ করতে পারেন।
আরও তথ্যের জন্য ইস্যু ট্র্যাকার ডকুমেন্টেশন দেখুন।
রানটাইম ট্রেসিং সংস্করণ 1.0
সংস্করণ 1.0.0-beta01
নভেম্বর 29, 2023
androidx.compose.runtime:runtime-tracing:1.0.0-beta01
প্রকাশিত হয়েছে। সংস্করণ 1.0.0-beta01-এ এই কমিট রয়েছে।
সংস্করণ 1.0.0-alpha05
15 নভেম্বর, 2023
androidx.compose.runtime:runtime-tracing:1.0.0-alpha05
প্রকাশিত হয়েছে। 1.0.0-alpha05 সংস্করণে এই কমিট রয়েছে।
বাগ ফিক্স
- সর্বনিম্ন সমর্থিত স্থিতিশীল সংস্করণগুলিতে পিন করা নির্ভরতা (যেমন কম্পোজ-রানটাইম এবং ট্রেসিং-পারফেটো) - একটি সমস্যা সমাধান করা যেখানে কম্পোজ-রানটাইম-ট্রেসিং অ্যাপে কম্পোজ-রানটাইমের একটি নতুন সংস্করণ আনবে।
সংস্করণ 1.0.0-alpha04
23 আগস্ট, 2023
androidx.compose.runtime:runtime-tracing:1.0.0-alpha04
প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha04 এই কমিট ধারণ করে।
নতুন বৈশিষ্ট্য
- বেঞ্চমার্ক এবং ট্রেসিং পারফেটোর সর্বশেষ সংস্করণগুলির সাথে সামঞ্জস্যপূর্ণ, অ্যাপ স্টার্টআপে (কোল্ড স্টার্ট) যেমন অ্যান্ড্রয়েডএক্স বেঞ্চমার্ক এবং অ্যান্ড্রয়েড স্টুডিওতে (হেজহগ বিটা 2 থেকে শুরু) কম্পোজিশন ট্রেসিংয়ের জন্য সমর্থন সক্ষম করে৷
এপিআই পরিবর্তন
-
androidx.tracing.perfetto.Trace
নাম পরিবর্তন করেandroidx.tracing.perfetto.PerfettoSdkTrace
করা হয়েছে। ( I44af8 ) -
android.os.Trace
এর সাথে সামঞ্জস্যপূর্ণ ট্রেসিং পারফেটো SDK API তৈরি করা। ( I73ba0 , b/282199917 ) - অ্যাপ স্টার্টআপে ট্রেসিংয়ের পূর্বশর্ত। ( Iad890 )
- একত্রিত পরীক্ষামূলক এবং সর্বজনীন API ফাইল ( I0f2e1 , b/278769092 )
সংস্করণ 1.0.0-alpha02
ফেব্রুয়ারী 8, 2023
androidx.compose.runtime:runtime-tracing:1.0.0-alpha02
প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha02 এই কমিট ধারণ করে।
নতুন বৈশিষ্ট্য
- কোন কার্যকরী পরিবর্তন নেই। ডাউনস্ট্রিম নির্ভরতায় একাধিক কর্মক্ষমতা অপ্টিমাইজেশন
androidx.tracing:tracing-perfetto*
।
সংস্করণ 1.0.0-alpha01
7 সেপ্টেম্বর, 2022
androidx.compose.runtime:runtime-tracing:1.0.0-alpha01
প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha01-এ এই কমিট রয়েছে।
নতুন বৈশিষ্ট্য
-
androidx.compose.runtime:runtime-tracing
একটি লাইব্রেরি যা - এটিকে সমর্থনকারী টুলিংয়ের উপস্থিতিতে (শীঘ্রই আসছে) - একটি রচনা অ্যাপে বর্ধিত ট্রেসিংয়ের অনুমতি দেয়৷ এই প্রাথমিক রিলিজ হল 1.0.0-alpha01।
সংস্করণ 1.7
সংস্করণ 1.7.0-rc01
আগস্ট 21, 2024
androidx.compose.runtime:runtime-*:1.7.0-rc01
প্রকাশিত হয়েছে। সংস্করণ 1.7.0-rc01-এ এই কমিট রয়েছে।
সংস্করণ 1.7.0-beta07
7 আগস্ট, 2024
androidx.compose.runtime:runtime-*:1.7.0-beta07
প্রকাশিত হয়েছে। সংস্করণ 1.7.0-beta07-এ এই কমিট রয়েছে।
সংস্করণ 1.7.0-beta06
জুলাই 24, 2024
androidx.compose.runtime:runtime-*:1.7.0-beta06
প্রকাশিত হয়েছে। সংস্করণ 1.7.0-beta06-এ এই কমিট রয়েছে।
সংস্করণ 1.7.0-beta05
10 জুলাই, 2024
androidx.compose.runtime:runtime-*:1.7.0-beta05
প্রকাশিত হয়েছে। সংস্করণ 1.7.0-beta05-এ এই কমিট রয়েছে।
সংস্করণ 1.7.0-beta04
জুন 26, 2024
androidx.compose.runtime:runtime-*:1.7.0-beta04
প্রকাশিত হয়েছে। 1.7.0-beta04 সংস্করণে এই কমিটগুলি রয়েছে।
সংস্করণ 1.7.0-beta03
জুন 12, 2024
androidx.compose.runtime:runtime-*:1.7.0-beta03
প্রকাশিত হয়েছে। 1.7.0-beta03 সংস্করণে এই কমিটগুলি রয়েছে।
সংস্করণ 1.7.0-beta02
29 মে, 2024
androidx.compose.runtime:runtime-*:1.7.0-beta02
প্রকাশিত হয়েছে। সংস্করণ 1.7.0-beta02-এ এই কমিট রয়েছে।
সংস্করণ 1.7.0-beta01
14 মে, 2024
androidx.compose.runtime:runtime-*:1.7.0-beta01
প্রকাশিত হয়েছে। সংস্করণ 1.7.0-beta01-এ এই কমিট রয়েছে।
সংস্করণ 1.7.0-alpha08
1 মে, 2024
androidx.compose.runtime:runtime-*:1.7.0-alpha08
প্রকাশিত হয়েছে। সংস্করণ 1.7.0-alpha08-এ এই কমিট রয়েছে।
সংস্করণ 1.7.0-alpha07
এপ্রিল 17, 2024
androidx.compose.runtime:runtime-*:1.7.0-alpha07
প্রকাশিত হয়েছে। সংস্করণ 1.7.0-alpha07-এ এই কমিট রয়েছে।
নতুন বৈশিষ্ট্য
- একটি কম্পোজিশন লোকাল প্রদান করার ক্ষমতা যোগ করা হয়েছে যা হয় ডিফল্টরূপে,
compositionLocalWithComputedDefault()
ব্যবহার করে অথবাprovides
পরিবর্তেprovidesComputed
ব্যবহার করে মান গণনা করার জন্য ব্যবহার করার জন্য একটি ল্যাম্বডা সরবরাহ করে গণনা করা হয়। - একটি কম্পোজিশন লোকালের মান প্রাপ্ত করা যেতে পারে কম্পোজিশনের
currentValue
ভ্যালু প্রোপার্টি ব্যবহার করে ল্যাম্বডা কম্পিউটিংয়ের মধ্যে থেকে অ্যাক্সেসযোগ্য। এটিcurrent
পরিবর্তে ব্যবহৃত হয় যা শুধুমাত্র@Composable
ফাংশনে অ্যাক্সেসযোগ্য। ( Iadbc0 )
এপিআই পরিবর্তন
- নতুন তৈরি স্টেট অবজেক্টগুলি তাদের প্রাথমিক অবস্থা সহ গ্লোবাল স্ন্যাপশট সহ অন্যান্য স্ন্যাপশট থেকে অবিলম্বে অ্যাক্সেসযোগ্য। বস্তুটি যে স্ন্যাপশটে তৈরি করা হয়েছিল তা প্রয়োগ না করা পর্যন্ত পরবর্তী কোনো পরিবর্তন দৃশ্যমান হয় না।
-
mutableStateOf()
এর প্রারম্ভিক অবস্থা, সেইসাথে তাদের আদিম সংস্করণগুলি হলmutableStateOf()
-এ প্যারামিটার হিসাবে পাস করা মান।mutableStateListOf()
এবংmutableStateMapOf()
এর প্রাথমিক অবস্থা খালি। -
Snapshot.isInSnapshot
এবংSnapshot.PreexistingSnapshotId
যোগ করা হয়েছে যা একটি রাষ্ট্রীয় বস্তুকে তৈরি করার পর বিশ্বব্যাপী স্ন্যাপশট থেকে অবিলম্বে অ্যাক্সেসযোগ্য হতে সমর্থন করতে সক্ষম করতে ব্যবহৃত হয়। - কাস্টম স্টেট অবজেক্টগুলি অন্তর্নির্মিত স্ন্যাপশট অবজেক্টগুলিতে করা পরিবর্তনগুলির প্যাটার্ন অনুসরণ করে অবিলম্বে অ্যাক্সেসযোগ্য হওয়া সমর্থন করতে পারে। ( I84a17 )
বাগ ফিক্স
- নেস্টেড স্ন্যাপশটে
readObserver
এর স্থির মার্জ। এটি একটিsnapshotFlow
ভিতরে ব্যবহার করার সময় নেস্টেড প্রাপ্ত রাজ্যগুলিকে অকার্যকর করে দেয়। ( আইডিএফ১৩৮ )
সংস্করণ 1.7.0-alpha06
3 এপ্রিল, 2024
androidx.compose.runtime:runtime-*:1.7.0-alpha06
প্রকাশিত হয়েছে। সংস্করণ 1.7.0-alpha06-এ এই কমিট রয়েছে।
বাগ ফিক্স
- ফিক্স প্রদান একক মান হ্যান্ডলিং
providesDefault
( 538f45 ) - ফ্রেম ঘড়ি ( 07e5c6 ) অ্যাক্সেস করার জন্য রিকম্পোজারে একটি অচলাবস্থা এড়িয়ে চলুন
সংস্করণ 1.7.0-alpha05
20 মার্চ, 2024
androidx.compose.runtime:runtime-*:1.7.0-alpha05
প্রকাশিত হয়েছে। সংস্করণ 1.7.0-alpha05-এ এই কমিট রয়েছে।
বাগ ফিক্স
- নিষ্ক্রিয় কম্পোজিশনে দেরী পরিবর্তনগুলি পরিষ্কার করুন ( 5950bc )
সংস্করণ 1.7.0-alpha04
6 মার্চ, 2024
androidx.compose.runtime:runtime-*:1.7.0-alpha04
প্রকাশিত হয়েছে। সংস্করণ 1.7.0-alpha04-এ এই কমিট রয়েছে।
কর্মক্ষমতা উন্নতি
- প্রাপ্ত রাষ্ট্র মূল্যায়ন প্রতি একবার
Snapshot.current
কল করুন ( ee7daf ) - কম্পোজিশনের প্রতি পর্যবেক্ষণে একবার
currentRecord
পড়ুন ( b882b2 ) -
snapshotFlow
( 231e56 ) এ দুর্ঘটনাজনিত পুনরাবৃত্তিকারী বরাদ্দ সরান - লাইব্রেরি রচনার জন্য
nonSkippingGroupOptimization
সক্ষম করুন৷ এটি androidx-এ সমস্ত অ-পুনঃসূচনাযোগ্য কম্পোজেবল ফাংশনের জন্য জেনারেট করা কোডকে আরও দক্ষ করে তোলে। ভবিষ্যতে আমরা ডিফল্টরূপে এটি সক্ষম করার পরিকল্পনা করছি৷ আমি ( acbc08 )
সংস্করণ 1.7.0-alpha03
21 ফেব্রুয়ারি, 2024
androidx.compose.runtime:runtime-*:1.7.0-alpha03
প্রকাশিত হয়েছে। সংস্করণ 1.7.0-alpha03 এই কমিট ধারণ করে।
এপিআই পরিবর্তন
- পরিবর্তন সনাক্তকরণ উন্নত করতে একটি প্রতিস্থাপন গোষ্ঠীর পরিচয় দিন ( 0941b5 )
কর্মক্ষমতা উন্নতি
- পরিবর্তন সনাক্ত করার সময় মেমরি বরাদ্দ উন্নত করুন ( 53e7fd )
- কম্পোজারে একটি মেমরি লিক ঠিক করুন ( 0e097d )
- পুনরায় কম্পোজ করার সময় বাতিলকরণ পাস করতে
ScopeMap
ব্যবহার করুন ( e19a7e ) - শুধুমাত্র প্রাপ্ত রাজ্যগুলি রাখতে অবৈধ মানচিত্র অপ্টিমাইজ করুন ( f11c44 )
-
ScatterSet
( db572e ) দিয়েIdentityArraySet
ব্যবহার প্রতিস্থাপন করুন -
ScopeMap
অপটিমাইজremoveScope
( bb0530 )
সংস্করণ 1.7.0-alpha02
7 ফেব্রুয়ারি, 2024
androidx.compose.runtime:runtime-*:1.7.0-alpha02
প্রকাশিত হয়েছে। সংস্করণ 1.7.0-alpha02 এই কমিট ধারণ করে।
বাগ ফিক্স
- একই ফ্রেমে সাবকম্পোজিশনে কম্পোজেবল ল্যাম্বডাসকে অবৈধ করুন। ( 98301c )
-
onForgotten
এর মতো একই ক্রমেonRelease
কলব্যাকে কল করুন। ( 2cd790 ) - পরিবর্তিত অবস্থাগুলি ফিল্টার করুন যেগুলি
snapshotFlow
পরিলক্ষিত হয় না। ( 796b80 )
কর্মক্ষমতা উন্নতি
- স্ন্যাপশট পর্যবেক্ষক পরিবর্তন করুন যখন এটি ইতিমধ্যে স্বচ্ছ হয়। ( f60f30 )
-
SnapshotIdSet.lowest()
অপ্টিমাইজ করুন। ( 7ae149 ) -
SnapshotIdSet
এ একটি বরাদ্দ-মুক্তfold()
ব্যবহার করুন। ( 532b7d ) - পুনরাবৃত্তিকারী বরাদ্দ সরান ( 83f96b )
সংস্করণ 1.7.0-alpha01
24 জানুয়ারী, 2024
androidx.compose.runtime:runtime-*:1.7.0-alpha01
প্রকাশিত হয়েছে। সংস্করণ 1.7.0-alpha01 এই কমিট ধারণ করে।
কর্মক্ষমতা অপ্টিমাইজেশান
- একটি চাইল্ড গ্রুপ যোগ করার পরে স্লট তৈরি করার ক্ষমতা যোগ করুন ( b5960c )
- স্ন্যাপশট স্টেটগুলির রেকর্ডিং পরিবর্তনগুলি অপ্টিমাইজ করুন ( 28c3fe )
- শক্তিশালী স্কিপিং মোড সক্ষম করুন ( ed1766 )
বাগ ফিক্স
- অভ্যন্তরীণ মনে রাখা ডিফল্ট প্যারামিটার মেটার জন্য অ্যাকাউন্ট ( 096665 )
-
currentCompoundHashKey
আরও ক্ষেত্রে অনন্য করুন ( d4a872 ) - ইনলাইন ফাংশন কল থেকে প্রস্থান করার সময় গ্রুপগুলি উপলব্ধি করুন ( 2a90fc )
সংস্করণ 1.6
সংস্করণ 1.6.8
জুন 12, 2024
androidx.compose.runtime:runtime-*:1.6.8
প্রকাশিত হয়েছে। সংস্করণ 1.6.8- এ এই কমিটগুলি রয়েছে।
সংস্করণ 1.6.7
1 মে, 2024
androidx.compose.runtime:runtime-*:1.6.7
প্রকাশিত হয়েছে। সংস্করণ 1.6.7- এ এই কমিটগুলি রয়েছে।
সংস্করণ 1.6.6
এপ্রিল 17, 2024
androidx.compose.runtime:runtime-*:1.6.6
প্রকাশিত হয়েছে। শেষ রিলিজ থেকে কোন পরিবর্তন.
সংস্করণ 1.6.5
3 এপ্রিল, 2024
androidx.compose.runtime:runtime-*:1.6.5
প্রকাশিত হয়েছে। সংস্করণ 1.6.5- এ এই কমিটগুলি রয়েছে।
সংস্করণ 1.6.4
20 মার্চ, 2024
androidx.compose.runtime:runtime-*:1.6.4
প্রকাশিত হয়েছে। সংস্করণ 1.6.4- এ এই কমিটগুলি রয়েছে।
সংস্করণ 1.6.3
6 মার্চ, 2024
androidx.compose.runtime:runtime-*:1.6.3
প্রকাশিত হয়েছে। সংস্করণ 1.6.3- এ এই কমিটগুলি রয়েছে।
সংস্করণ 1.6.2
21 ফেব্রুয়ারি, 2024
androidx.compose.runtime:runtime-*:1.6.2
প্রকাশিত হয়েছে। সংস্করণ 1.6.2-এ এই কমিট রয়েছে।
সংস্করণ 1.6.1
7 ফেব্রুয়ারি, 2024
androidx.compose.runtime:runtime-*:1.6.1
প্রকাশিত হয়েছে। সংস্করণ 1.6.1-এ এই কমিট রয়েছে।
বাগ ফিক্স
-
onForgotten
এর মতো একই ক্রমেonRelease
কলব্যাকে কল করুন। ( 2cd790 ) - পরিবর্তিত অবস্থাগুলি ফিল্টার করুন যেগুলি
snapshotFlow
পরিলক্ষিত হয় না। ( 796b80 )
সংস্করণ 1.6.0
24 জানুয়ারী, 2024
androidx.compose.runtime:runtime-*:1.6.0
প্রকাশিত হয়েছে। সংস্করণ 1.6.0 এই কমিট ধারণ করে.
1.5.0 থেকে গুরুত্বপূর্ণ পরিবর্তন
নতুন বৈশিষ্ট্য
- পুনর্গঠন লুপের সময় গিলে ফেলা ব্যতিক্রমগুলি পুনরায় নিক্ষেপ করুন ( 4dff9a )
কর্মক্ষমতা অপ্টিমাইজেশান
- স্ন্যাপশট স্টেটগুলির রেকর্ডিং পরিবর্তনগুলি অপ্টিমাইজ করুন ( 28c3fe )
- অপ্টিমাইজ
rememberSaveable
( f01d79 ) - পরিবর্তনগুলি রেকর্ড না হওয়া পর্যন্ত প্রাপ্ত রাজ্যগুলি পুনরায় পড়া স্থগিত করুন ( f38099 )
- কম্পোজিশন স্থানীয় মান প্রদান উন্নত করুন ( a337ea )
বাগ ফিক্স
- স্লট টেবিল মেমরি লিক ঠিক করুন ( 73fcfe )
- সাবকম্পোজিশনের পুনর্গঠন এড়িয়ে যান যেগুলি সরানো হবে। ( Ieeb99 , b/254645321 )
- শুধুমাত্র
RememberObserver
লাইফসাইকেল ট্রিগার করে যখন এটি মনে রাখার গণনায় সংরক্ষণ করা হয়। ( f6b4dc ) -
$dirty
ক্যাপচার ইনলাইন ল্যাম্বডাসে সীমাবদ্ধ করুন। ( acfca0 ) - কখনও কখনও ভুল রচনা স্থানীয় প্রাপ্ত স্থানান্তরযোগ্য বিষয়বস্তু ঠিক করুন। ( 035cd6 )
সংস্করণ 1.6.0-rc01
জানুয়ারী 10, 2024
androidx.compose.runtime:runtime-*:1.6.0-rc01
প্রকাশিত হয়েছে। সংস্করণ 1.6.0-rc01-এ এই কমিট রয়েছে।
সংস্করণ 1.6.0-beta03
13 ডিসেম্বর, 2023
androidx.compose.runtime:runtime-*:1.6.0-beta03
প্রকাশিত হয়েছে। 1.6.0-beta03 সংস্করণে এই কমিট রয়েছে।
সংস্করণ 1.6.0-beta02
নভেম্বর 29, 2023
androidx.compose.runtime:runtime-*:1.6.0-beta02
প্রকাশিত হয়েছে। সংস্করণ 1.6.0-beta02-এ এই কমিট রয়েছে।
সংস্করণ 1.6.0-beta01
15 নভেম্বর, 2023
androidx.compose.runtime:runtime-*:1.6.0-beta01
প্রকাশিত হয়েছে। সংস্করণ 1.6.0-beta01-এ এই কমিট রয়েছে।
এপিআই পরিবর্তন
- টীকাতে নির্দিষ্ট স্থিতিশীলতার মান প্রচার করুন। (274a4c)
বাগ ফিক্স
- প্রেক্ষাপটে স্থানীয় স্কোপ স্টেট রচনার জন্য রেফারেন্সিয়াল নীতি ব্যবহার করুন। (83361c)
- $dirty ক্যাপচার ইনলাইন ল্যাম্বডাসে সীমাবদ্ধ করুন। (acfca0)
- কখনও কখনও ভুল রচনা স্থানীয় প্রাপ্ত স্থানান্তরযোগ্য বিষয়বস্তু ঠিক করুন। (035cd6)
-
RecomposeScopeImpl
এ দ্রুত নন-অ্যালোকেটিং হ্যাশম্যাপ ব্যবহার করুন। (d79494) -
DerivedState
এObjectIntMap
ব্যবহার করুন। (21862e) -
DerivedState
এ intSnapshotThreadLocal
এর জন্যIntRef
ব্যবহার করুন। (04eaf4)
সংস্করণ 1.6.0-alpha08
18 অক্টোবর, 2023
androidx.compose.runtime:runtime-*:1.6.0-alpha08
প্রকাশিত হয়েছে। সংস্করণ 1.6.0-alpha08 এই কমিট ধারণ করে।
বাগ ফিক্স
- শুধুমাত্র
RememberObserver
লাইফসাইকেল ট্রিগার করে যখন এটি মনে রাখার গণনায় সংরক্ষণ করা হয়। ( f6b4dc ) - অবৈধ তালিকা বাছাইয়ে বরাদ্দ উন্নত করুন। ( 954d63 )
-
SnapshotStateObserver
এ নতুন নন-অ্যালোকেটিং ম্যাপ ব্যবহার করুন। ( 4303ce ) - কম্পোজিশন নিষ্ক্রিয় হলে অবৈধতা সাফ করুন। ( e001be )
সংস্করণ 1.6.0-alpha07
4 অক্টোবর, 2023
androidx.compose.runtime:runtime-*:1.6.0-alpha07
প্রকাশিত হয়েছে। 1.6.0-alpha07 সংস্করণে এই কমিট রয়েছে।
এপিআই পরিবর্তন
-
SnapshotStateList
এখনRandomAccess
হিসেবে চিহ্নিত করা হয়েছে যাতে লিস্ট হেল্পারদের সরাসরি ইন্ডেক্সিং সংস্করণ ব্যবহার করা যায়। ( I5210c , b/219554654 )
সংস্করণ 1.6.0-alpha06
20 সেপ্টেম্বর, 2023
androidx.compose.runtime:runtime-*:1.6.0-alpha06
প্রকাশিত হয়েছে। সংস্করণ 1.6.0-alpha06 এই কমিট ধারণ করে।
সংস্করণ 1.6.0-alpha05
6 সেপ্টেম্বর, 2023
androidx.compose.runtime:runtime-*:1.6.0-alpha05
প্রকাশিত হয়েছে। সংস্করণ 1.6.0-alpha05 এই কমিট ধারণ করে।
সংস্করণ 1.6.0-alpha04
23 আগস্ট, 2023
androidx.compose.runtime:runtime-*:1.6.0-alpha04
প্রকাশিত হয়েছে। 1.6.0-alpha04 সংস্করণে এই কমিট রয়েছে।
নতুন বৈশিষ্ট্য
- পুনর্গঠন লুপের সময় গিলে ফেলা ব্যতিক্রমগুলি পুনরায় নিক্ষেপ করুন ( 4dff9a )
এপিআই পরিবর্তন
-
ReusableComposition
নিষ্ক্রিয় করার জন্য একটি পদ্ধতি যোগ করা হয়েছে, পর্যবেক্ষণগুলি সরিয়ে দেওয়া হয়েছে কিন্তু নোডগুলিকে জায়গায় রাখা হয়েছে। নিষ্ক্রিয় করা রচনাটিকেsetContent
কল করে আবার সক্রিয় করা যেতে পারে। ( Ib7f31 ) - জীবনচক্র পরিচালনা এবং সাবকম্পোজিশনের পুনঃব্যবহারের জন্য
ReusableComposition
ইন্টারফেস যুক্ত করুন। ( I812d1 , b/252846775 )
সংস্করণ 1.6.0-alpha03
9 আগস্ট, 2023
androidx.compose.runtime:runtime-*:1.6.0-alpha03
প্রকাশিত হয়েছে। সংস্করণ 1.6.0-alpha03 এই কমিট ধারণ করে।
বাগ ফিক্স
- নতুন
CompositionLocalProvider
অপ্টিমাইজেশান ঠিক করুন ( 3118e88 ) - চলমান বিষয়বস্তু নোডগুলি কীভাবে বিচ্ছিন্ন করা হয় তা ঠিক করুন। ( 5e3d59b )
সংস্করণ 1.6.0-alpha02
জুলাই 26, 2023
androidx.compose.runtime:runtime-*:1.6.0-alpha02
প্রকাশিত হয়েছে। সংস্করণ 1.6.0-alpha02 এই কমিট ধারণ করে।
নতুন বৈশিষ্ট্য এবং কর্মক্ষমতা বৃদ্ধি
- অপ্টিমাইজ
rememberSaveable
( f01d79 ) - পরিবর্তনগুলি রেকর্ড না হওয়া পর্যন্ত প্রাপ্ত রাজ্যগুলি পুনরায় পড়া স্থগিত করুন ( f38099 )
- কম্পোজিশন স্থানীয় মান প্রদান উন্নত করুন ( a337ea )
- একটি গ্রুপ তৈরি করা এড়াতে
SideEffect
@ExplicitGroupsComposable
হিসেবে চিহ্নিত করা হয়েছে। ( I74815 ) - পুনর্ব্যবহারে কম্পোজিশন স্থানীয় মানচিত্র তুলনা করা এড়িয়ে চলুন ( 782071 )
এপিআই পরিবর্তন
-
CompositionLocalProviders
এর জন্য একটি বিশেষ কেস ওভারলোড যোগ করা হয়েছে যা একাধিক মান দ্রুত প্রদান করতে ব্যবহৃত ওভারহেড এড়িয়ে যায় কিন্তু একটি একক মান প্রদান করার সময় ওভারহেড হয়। ( I6d640 , b/288169379 )
বাগ ফিক্স
- স্লট টেবিল মেমরি লিক ঠিক করুন ( 73fcfe )
- যখন
stateSaver
নাল ( 90748c ) ফেরত দেয় তখন আমরা কীভাবেrememberSaveable
পুনরুদ্ধার করব তা ঠিক করুন
সংস্করণ 1.6.0-alpha01
জুন 21, 2023
androidx.compose.runtime:runtime-*:1.6.0-alpha01
প্রকাশিত হয়েছে। সংস্করণ 1.6.0-alpha01-এ এই কমিট রয়েছে।
বাগ ফিক্স
- সাবকম্পোজিশনের পুনর্গঠন এড়িয়ে যান যেগুলি সরানো হবে। ( Ieeb99 , b/254645321 )
- স্ন্যাপশট প্রয়োগ করার সময় বরাদ্দ হ্রাস। ( I65c09 )
-
DerivedState
এreadableHash
গণনা করা এড়িয়ে চলুন যদি স্ন্যাপশট পরিবর্তন করা না হয় ( 68c565 )
সংস্করণ 1.5
সংস্করণ 1.5.4
18 অক্টোবর, 2023
androidx.compose.runtime:runtime-*:1.5.4
প্রকাশিত হয়েছে। সংস্করণ 1.5.4 এই কমিট ধারণ করে.
সংস্করণ 1.5.3
4 অক্টোবর, 2023
androidx.compose.runtime:runtime-*:1.5.3
প্রকাশিত হয়েছে। সংস্করণ 1.5.3 এই কমিট ধারণ করে.
সংস্করণ 1.5.2
27 সেপ্টেম্বর, 2023
androidx.compose.runtime:runtime-*:1.5.2
প্রকাশিত হয়েছে। সংস্করণ 1.5.2 এই কমিট ধারণ করে.
সংস্করণ 1.5.1
6 সেপ্টেম্বর, 2023
androidx.compose.runtime:runtime-*:1.5.1
প্রকাশিত হয়েছে। সংস্করণ 1.5.1 এই কমিট ধারণ করে.
সংস্করণ 1.5.0
9 আগস্ট, 2023
androidx.compose.runtime:runtime-*:1.5.0
প্রকাশিত হয়েছে। সংস্করণ 1.5.0 এই কমিট ধারণ করে.
এপিআই পরিবর্তন
- পুনর্গঠন, রঙের অ্যানিমেশন এবং
AndroidComposeView
এ বরাদ্দ সরানো হয়েছে। ( Ib2bfa ) - একটি
@StateFactoryMarker
টীকা যোগ করা হয়েছে, এমন ফাংশনগুলি চিহ্নিত করতে যা স্টেট তৈরি করে এবং একটিremember
কলে আবৃত করা আবশ্যক৷ ( I64550 ) - রাজ্য এবং
MutableState
আদিম সংস্করণ যোগ করুন ( fb3d89 ) - যোগ করা হয়েছে
Snapshot.isApplyObserverNotificationPending
( I672a5 ) -
State
এপিআই-এর আদিম সংস্করণ যোগ করা হয়েছে, অটোবক্সিং-এর জন্য জরিমানা ছাড়াইState
অবজেক্টে int, লং, ফ্লোট এবং ডাবল মানগুলিকে ট্র্যাক করার অনুমতি দেয়। এইগুলি ব্যবহার করার জন্য নতুন ফ্যাক্টরি পদ্ধতিগুলি ব্যবহার করুনmutableIntState(Int)
,mutableFloatStateOf(Float)
ইত্যাদি। ( I48e43 )
বাগ ফিক্স
- সাবকম্পোজিশনের পুনর্গঠন এড়িয়ে যান যেগুলি সরানো হবে। ( Ieeb99 , b/254645321 )
-
ComposerImpl
( 0206f7 ) এ স্ন্যাপশট রেফারেন্স ধরে রাখবেন না - দুইবার রচনা প্রয়োগ করবেন না ( f5791b )
- নন-ইনিশিয়ালাইজড ডিরাইভড স্টেট ভ্যালু ( aa2a92 ) এর জন্য অবৈধতা নিশ্চিত করুন
- কম্পোজিশন ডিসপোজ করার সময়
onEndChanges
কল করুন। ( 62cc8c ) - একটি সাব-কম্পোজিশনে চলমান বিষয়বস্তু ঠিক করুন ( 4beb41 )
- সম্ভাব্য অচলাবস্থা ঠিক করুন ( c1a425 এবং 8edce0 )
- একটি অ্যান্ড্রয়েড উইন্ডোর জন্য তৈরি করা রিকম্পোজারটি যখন একটি ON_STOP বিজ্ঞপ্তি পায় তখন সমস্ত রচনার পরিবর্তে শুধুমাত্র
withFrameNanos
সাথে কলগুলিকে ব্লক করবে৷ এর মানে থামানো অ্যাক্টিভিটিগুলির সাথে যুক্ত উইন্ডোগুলি ডেটা পরিবর্তনের জন্য পুনরায় কম্পোজ করা অব্যাহত রাখবে কিন্তু অ্যানিমেশন, বাwithFrameNanos
এর অন্য কোনো কলার ব্লক করবে। ( Id9e7f , b/240975572 ) - প্রভাব নিষ্পত্তি করার আগে
LayoutNode
জন্য নিষ্ক্রিয়করণ কলব্যাকগুলি চালান 3784073 - পুনঃসূচনা lambdas ea81df9 এর জন্য পরিবর্তিত পতাকা ঠিক করুন
- নোড 73fd4d8 সহ কম্পোজেবলের জন্য লাইভ এডিট রিগ্রেশন ঠিক করুন
- ON_STOP কম্পোজিশন ae276f1 এর পরিবর্তে ফ্রেম ঘড়ি সম্প্রচারকে বিরতি দেওয়া উচিত
- অপরিবর্তিত প্রাপ্ত রাজ্য 84d9b1c জন্য
SnapshotStateObserver
স্কোপগুলি বাতিল করুন - কম্পোজিশন 28761fc নিষ্পত্তি করার সময় সম্ভাব্য ডেড-লক ঠিক করুন
- একটি সাব-কম্পোজিশন 92d4156- এ চলন্ত বিষয়বস্তু ঠিক করুন
- পুনরায় চালু করা ল্যাম্বডাসের জন্য পরিবর্তিত পতাকাগুলি ঠিক করুন ( 8a03e9 )
- প্রভাব নিষ্পত্তি করার আগে
LayoutNode
এর জন্য নিষ্ক্রিয়করণ কলব্যাকগুলি চালান ( 8b0fa4 ) - নোড গ্রুপ শেষ করার সময়
endToMarker()
ঠিক করুন। ( d71d980 ) - নিষ্ক্রিয়করণ চেক করার জন্য বর্তমান
SlotWriter
গ্রুপ ব্যবহার করুন ( a0b518b ) -
SlotTable.moveSlotGapTo()
এfill
সরান এবং এটিকে বন্ধ করার জন্য সরান ( 81f9935 ) - অস্থাবর বিষয়বস্তু সরানোর সময় অনুপস্থিত অবৈধতা সংশোধন করুন ( 1d7c024 )
- সরানো চলমান বিষয়বস্তুর জন্য অবিলম্বে অবৈধতা ঠিক করুন ( 8676618 )
কর্মক্ষমতা উন্নতি
- স্ন্যাপশট পরিবর্তন করা না হলে
DerivedState
এreadableHash
গণনা করা এড়িয়ে চলুন। ( 307102 ) - হ্রাসকৃত বরাদ্দ ( I65c09 , d7ea77 , 727974 , এবং 445808 )
- কম্পোজ
CoroutineScopes
দ্রুত বাতিলকরণ ( a55362 এবং bd382f ) - দুর্গম স্টেট রেকর্ড সহ স্টেট অবজেক্টের রেকর্ড ওভাররাইট করুন ( c986960 )
- গ্রুপ উপলব্ধি করার সময় সঠিক সুযোগের কম্পোজার ব্যবহার করুন ( 9a5e5b6 )
- স্ন্যাপশট অবৈধকরণ ( 7f60cca ) সংরক্ষণ করতে
IdentityArraySet
ব্যবহার করুন - স্ন্যাপশট পর্যবেক্ষণের জন্য বরাদ্দ হ্রাস করুন ( 5bc535f )
সংস্করণ 1.5.0-rc01
জুলাই 26, 2023
androidx.compose.runtime:runtime-*:1.5.0-rc01
প্রকাশিত হয়েছে। 1.5.0-rc01 সংস্করণে এই কমিট রয়েছে।
বাগ ফিক্স
পরিবর্তনগুলি রেকর্ড না হওয়া পর্যন্ত প্রাপ্ত রাজ্যগুলি পুনরায় পড়া স্থগিত করুন ( f38099 )
mutableStateOf()
কলগুলিকে আদিমদের জন্য তাদের সংশ্লিষ্ট বিশেষ ধরনের কলগুলি স্থানান্তরের সুপারিশ করার জন্য একটি ঐচ্ছিক পরিদর্শন উপলব্ধ। এর লিন্ট আইডি হলAutoboxingStateCreation
। পূর্বে, এই পরিদর্শনটি সমস্ত প্রকল্পের জন্য ডিফল্টরূপে সক্রিয় ছিল। অ্যান্ড্রয়েড স্টুডিওর এডিটর এবং আপনার প্রোজেক্টের লিন্ট আউটপুটগুলিতে এই সতর্কতাটি দেখতে, আপনার মডিউলের build.gradle বাwarning "AutoboxingStateCreation"
কনফিগারেশনের মধ্যে দেখানো ( I34f7e ):android { lint { warning "AutoboxingStateCreation" } ... }
সংস্করণ 1.5.0-beta03
জুন 28, 2023
androidx.compose.runtime:runtime-*:1.5.0-beta03
প্রকাশিত হয়েছে। সংস্করণ 1.5.0-beta03 এই কমিট ধারণ করে।
বাগ ফিক্স
- সাবকম্পোজিশনের পুনর্গঠন এড়িয়ে যান যেগুলি সরানো হবে। ( Ieeb99 , b/254645321 )
সংস্করণ 1.5.0-beta02
7 জুন, 2023
androidx.compose.runtime:runtime-*:1.5.0-beta02
প্রকাশিত হয়েছে। সংস্করণ 1.5.0-beta02 এই কমিট ধারণ করে।
কর্মক্ষমতা উন্নতি
- স্ন্যাপশট পরিবর্তন করা না হলে
DerivedState
এreadableHash
গণনা করা এড়িয়ে চলুন। ( 307102 )
সংস্করণ 1.5.0-beta01
24 মে, 2023
androidx.compose.runtime:runtime-*:1.5.0-beta01
প্রকাশিত হয়েছে। সংস্করণ 1.5.0-beta01-এ এই কমিট রয়েছে।
এপিআই পরিবর্তন
- পুনর্গঠন, রঙের অ্যানিমেশন এবং
AndroidComposeView
( Ib2bfa ) এ বরাদ্দ সরানো হয়েছে - একটি
@StateFactoryMarker
টীকা যোগ করা হয়েছে, এমন ফাংশনগুলি চিহ্নিত করতে যা স্টেট তৈরি করে এবং একটিremember
কলে আবৃত করা আবশ্যক৷ ( I64550 ) - রাজ্য এবং
MutableState
আদিম সংস্করণ যোগ করুন ( fb3d89 ) - যোগ করা হয়েছে
Snapshot.isApplyObserverNotificationPending
( I672a5 )
বাগ ফিক্স
- হ্রাসকৃত বরাদ্দ ( I65c09 , d7ea77 , 727974 , এবং 445808 )
-
ComposerImpl
( 0206f7 ) এ স্ন্যাপশট রেফারেন্স ধরে রাখবেন না - কম্পোজ
CoroutineScopes
দ্রুত বাতিলকরণ ( a55362 এবং bd382f ) - দুইবার রচনা প্রয়োগ করবেন না ( f5791b )
- নন-ইনিশিয়ালাইজড ডিরাইভড স্টেট ভ্যালু ( aa2a92 ) এর জন্য অবৈধতা নিশ্চিত করুন
- কম্পোজিশন ডিসপোজ করার সময়
onEndChanges
কল করুন। ( 62cc8c ) - একটি সাব-কম্পোজিশনে চলমান বিষয়বস্তু ঠিক করুন ( 4beb41 )
- সম্ভাব্য অচলাবস্থা ঠিক করুন ( c1a425
- ON_STOP কম্পোজিশন ( f4a2d1 ) এর পরিবর্তে ফ্রেম ঘড়ি সম্প্রচারকে বিরতি দেওয়া উচিত
- পুনরায় চালু করা ল্যাম্বডাসের জন্য পরিবর্তিত পতাকাগুলি ঠিক করুন ( 8a03e9 )
- প্রভাব নিষ্পত্তি করার আগে
LayoutNode
এর জন্য নিষ্ক্রিয়করণ কলব্যাকগুলি চালান ( 8b0fa4 )
বাহ্যিক অবদান
- যোগ করা হয়েছে
Snapshot.isApplyObserverNotificationPending
( I672a5 )
সংস্করণ 1.5.0-alpha04
10 মে, 2023
androidx.compose.runtime:runtime-*:1.5.0-alpha04
প্রকাশিত হয়েছে। সংস্করণ 1.5.0-alpha04 এই কমিট ধারণ করে।
এপিআই পরিবর্তন
-
State
এপিআই-এর আদিম সংস্করণ যোগ করা হয়েছে, অটোবক্সিং-এর জন্য জরিমানা ছাড়াইState
অবজেক্টে int, লং, ফ্লোট এবং ডাবল মানগুলিকে ট্র্যাক করার অনুমতি দেয়। এইগুলি ব্যবহার করার জন্য নতুন ফ্যাক্টরি পদ্ধতি ব্যবহার করুনmutableIntState(Int)
,mutableFloatStateOf(Float)
ইত্যাদি। ( I48e43 )
বাগ ফিক্স
কম্পোজিশন ডিসপোজ করার সময়
onEndChanges
কল করুন।Composition.dispose
সময় ফোকাস নোডগুলি সরানো হয়েছে ফোকাস রিসেট করতেonEndChanges
এ সদস্যতা নিচ্ছে৷( 03d4a47 )নন-ইনিশিয়ালাইজড প্রাপ্ত রাষ্ট্রীয় মানগুলির জন্য অবৈধতা নিশ্চিত করুন। প্রতিটি প্রাপ্ত অবস্থা
SnapshotStateObserver
এ তার নির্ভরতাগুলির একটি তালিকার সাথে যুক্ত থাকে, যখনই নির্ভরতা পরিবর্তিত হয় তখন প্রাপ্ত অবস্থার সাথে যুক্ত স্কোপগুলিকে বাতিল করতে ব্যবহৃত হয়। নির্ভরতা পরিবর্তনটি স্ন্যাপশট অগ্রিমের উপর নিবন্ধিত হয়, যা প্রাপ্ত অবস্থা পড়ার পরে ঘটতে পারে (Snapshot.notifyObjectsInitialized()
এ কলের কারণে)।SnapshotStateObserver
এ পূর্ববর্তী প্রাপ্ত রাষ্ট্র পর্যবেক্ষণ যুক্তি পুরানো নির্ভরতা পরিষ্কার করে, তারপর নতুন মান পড়া। এর ফলে একটি রেস অবস্থার সাথে একটি পরিচ্ছন্ন অবস্থায় অবৈধতা ঘটছে, যেখানে নির্ভরতা অবৈধকরণ নিবন্ধিত হয়নি।এই পরিবর্তনটি ডেরাইভড স্টেট রিড এবং ডিপেনডেন্সি ক্লিনআপকে পুনরায় সাজায়, নিশ্চিত করে যে অবৈধতা সর্বদা একটি বৈধ অবস্থায় ঘটে। ( c472be6 )
সংস্করণ 1.5.0-alpha03
এপ্রিল 19, 2023
androidx.compose.runtime:runtime-*:1.5.0-alpha03
প্রকাশিত হয়েছে। সংস্করণ 1.5.0-alpha03 এই কমিট ধারণ করে।
এপিআই পরিবর্তন
- একটি অ্যান্ড্রয়েড উইন্ডোর জন্য তৈরি করা রিকম্পোজারটি যখন একটি ON_STOP বিজ্ঞপ্তি পায় তখন সমস্ত রচনার পরিবর্তে শুধুমাত্র
withFrameNanos
সাথে কলগুলিকে ব্লক করবে৷ এর মানে থামানো অ্যাক্টিভিটিগুলির সাথে যুক্ত উইন্ডোগুলি ডেটা পরিবর্তনের জন্য পুনরায় কম্পোজ করা অব্যাহত রাখবে কিন্তু অ্যানিমেশন, বাwithFrameNanos
এর অন্য কোনো কলার ব্লক করবে। ( Id9e7f , b/240975572 )
বাগ ফিক্স
- স্ন্যাপশট তালিকা এবং মানচিত্র 5c1a425- এ সম্ভাব্য অচলাবস্থা ঠিক করুন
- প্রভাব নিষ্পত্তি করার আগে
LayoutNode
জন্য নিষ্ক্রিয়করণ কলব্যাকগুলি চালান 3784073 - পুনঃসূচনা lambdas ea81df9 এর জন্য পরিবর্তিত পতাকা ঠিক করুন
- নোড 73fd4d8 সহ কম্পোজেবলের জন্য লাইভ এডিট রিগ্রেশন ঠিক করুন
- ON_STOP কম্পোজিশন ae276f1 এর পরিবর্তে ফ্রেম ঘড়ি সম্প্রচারকে বিরতি দেওয়া উচিত
- অপরিবর্তিত প্রাপ্ত রাজ্য 84d9b1c জন্য
SnapshotStateObserver
স্কোপগুলি বাতিল করুন - কম্পোজিশন 28761fc নিষ্পত্তি করার সময় সম্ভাব্য ডেড-লক ঠিক করুন
- একটি সাব-কম্পোজিশন 92d4156- এ চলন্ত বিষয়বস্তু ঠিক করুন
সংস্করণ 1.5.0-alpha02
5 এপ্রিল, 2023
androidx.compose.runtime:runtime-*:1.5.0-alpha02
প্রকাশিত হয়েছে। সংস্করণ 1.5.0-alpha02 এই কমিট ধারণ করে।
নতুন বৈশিষ্ট্য
- Kotlin এর
getValue
অপারেটর এখন রচনাযোগ্য হতে পারে ( f174f6e )
বাগ ফিক্স, পারফরম্যান্সের উন্নতি
- দুর্গম স্টেট রেকর্ড সহ স্টেট অবজেক্টের রেকর্ড ওভাররাইট করুন ( c986960 )
- গ্রুপ উপলব্ধি করার সময় সঠিক সুযোগের কম্পোজার ব্যবহার করুন ( 9a5e5b6 )
- নোড গ্রুপ শেষ করার সময়
endToMarker()
ঠিক করুন। ( d71d980 ) - নিষ্ক্রিয়করণ চেক করার জন্য বর্তমান
SlotWriter
গ্রুপ ব্যবহার করুন ( a0b518b ) - স্ন্যাপশট অবৈধকরণ ( 7f60cca ) সংরক্ষণ করতে
IdentityArraySet
ব্যবহার করুন -
SlotTable.moveSlotGapTo()
এfill
সরান এবং এটিকে বন্ধ করার জন্য সরান ( 81f9935 ) - অস্থাবর বিষয়বস্তু সরানোর সময় অনুপস্থিত অবৈধতা সংশোধন করুন ( 1d7c024 )
- সরানো চলমান বিষয়বস্তুর জন্য অবিলম্বে অবৈধতা ঠিক করুন ( 8676618 )
- স্ন্যাপশট পর্যবেক্ষণের জন্য বরাদ্দ হ্রাস করুন ( 5bc535f )
সংস্করণ 1.5.0-alpha01
22 মার্চ, 2023
androidx.compose.runtime:runtime-*:1.5.0-alpha01
প্রকাশিত হয়েছে। সংস্করণ 1.5.0-alpha01 এই কমিট ধারণ করে।
নতুন বৈশিষ্ট্য
-
Modifier.Node#coroutineScope
যোগ করেModifier.Nodes
কোরোটিন চালু করতে অনুমতি দেয় ( I76ef9 ) -
CompositionLocalConsumerModifierNode
ইন্টারফেস প্রয়োগ করেModifier.Nodes
CompositionLocals
পড়ার অনুমতি দিন। ( Ib44df )
সংস্করণ 1.4
সংস্করণ 1.4.3
3 মে, 2023
androidx.compose.runtime:runtime-*:1.4.3
কোনো পরিবর্তন ছাড়াই প্রকাশ করা হয়েছে।
সংস্করণ 1.4.2
এপ্রিল 19, 2023
androidx.compose.runtime:runtime-*:1.4.2
প্রকাশিত হয়েছে। সংস্করণ 1.4.2 এই কমিট ধারণ করে.
বাগ ফিক্স
স্ন্যাপশট তালিকা এবং 2eb6570 মানচিত্রে সম্ভাব্য অচলাবস্থা ঠিক করুন
একটি
SnapshotStateList
বাSnapshotStateMap
এ বিষয়বস্তু যোগ করা একটি অচলাবস্থার সম্মুখীন হতে পারে যদি পরিবর্তনটি রাষ্ট্রীয় রেকর্ডে সরাসরি লেখার সাথে একযোগে হয়। এটি 93fcae828b দ্বারা প্রবর্তিত পরিবর্তনগুলির সম্মুখীন হওয়ার সম্ভাবনা বেশি ছিল যা অব্যবহৃত রেকর্ডগুলি প্রকাশ করতে সরাসরি লেখা ব্যবহার করে।লকগুলি এখন অর্ডার করা হয়েছে যে একটি স্ন্যাপশট লক কখনই নেওয়ার চেষ্টা করা হয় না যখন একটি মানচিত্র বা তালিকা লক রাখা হয়।
সংস্করণ 1.4.1
5 এপ্রিল, 2023
androidx.compose.runtime:runtime-*:1.4.1
প্রকাশিত হয়েছে। সংস্করণ 1.4.1 এই কমিট ধারণ করে.
বাগ ফিক্স
- নোড গ্রুপ শেষ করার সময়
endToMarker()
ঠিক করুন। d71d980
সংস্করণ 1.4.0
22 মার্চ, 2023
androidx.compose.runtime:runtime-*:1.4.0
প্রকাশিত হয়েছে। সংস্করণ 1.4.0 এই কমিট ধারণ করে.
1.3.0 থেকে গুরুত্বপূর্ণ পরিবর্তন
- প্রথম রচনা 3680e25- এর জন্য
LiveData
থেকে প্রারম্ভিক মান ব্যবহার করুন - কম্পোজ নোডের জীবনচক্র পর্যবেক্ষণ করতে
ComposeNodeLifecycleCallback
যোগ করুন। 8b6a258 -
ComposableMethod
7b6c7ad- এparameterTypes
প্রপার্টি যোগ করুন
বাগ ফিক্স এবং পারফরম্যান্সের উন্নতি
-
SnapshotStateObserver
29f4a3e এ উভয় স্কোপ ইনডেক্স সাফ করুন - অবিচ্ছিন্ন ল্যাম্বডাস 7d06752 এর শরীরে প্রয়োজনীয় গোষ্ঠী যুক্ত করুন
- স্ন্যাপশট স্টেট 93fcae8 এর মেমরি রেফারেন্স বৈশিষ্ট্য উন্নত করুন
- কম্পোজিশন লোকাল লুকআপ 0875717 এ বক্সিং সরান
- অ-পুনঃব্যবহারযোগ্য নোড গ্রুপ 6388d8d এর জন্য সঠিক কী ব্যবহার করুন
- 98cb6ba প্রযোজ্য পুনরাবৃত্তিমূলক এবং সমসাময়িক থেকে
SnapshotStateObserver
রক্ষা করুন -
IdentityArraySet
"get" পদ্ধতি 35a77d3 এ একটি চেক-ইনডেক্স-বাউন্ড চেক যোগ করা হয়েছে -
ViewTreeLifecycleOwner
এক্সটেনশন 21c2122 ব্যবহার করতে কম্পোজ মডিউল আপডেট করুন - Recomposer ফ্রেম শেষ করার পরে আবেদন বিজ্ঞপ্তি পাঠান. 98f2641
- Recomposer 8f8656f বাতিল করার সময় সীমার বাইরে সূচক ক্র্যাশ ঠিক করুন
- কম্পোজিশনের মূল প্রদানকারীরা 9526fcc পরিবর্তন করলে সর্বদা পুনরায় কম্পোজ করতে বাধ্য করুন
- বাতিল করা চাকরি a55f7ed এর জন্য কম্পোজার সহনশীলতা
- বিপুল সংখ্যক কম্পোজার 9b7ed67 এর জন্য অকার্যকর হ্যান্ডলিং উন্নত করুন
- অ-স্থানীয় রিটার্ন b6f590c জন্য ক্লোজিং গ্রুপ তৈরি করা ঠিক করুন
সংস্করণ 1.4.0-rc01
8 মার্চ, 2023
androidx.compose.runtime:runtime-*:1.4.0-rc01
প্রকাশিত হয়েছে। সংস্করণ 1.4.0-rc01-এ এই কমিট রয়েছে।
বাগ ফিক্স
সংস্করণ 1.4.0-beta02
22 ফেব্রুয়ারি, 2023
androidx.compose.runtime:runtime:1.4.0-beta02
এবং androidx.compose.runtime:runtime-saveable:1.4.0-beta02
প্রকাশ করা হয়েছে। 1.4.0-beta02 সংস্করণে এই কমিট রয়েছে।
সংস্করণ 1.4.0-beta01
ফেব্রুয়ারী 8, 2023
androidx.compose.runtime:runtime-*:1.4.0-beta01
প্রকাশিত হয়েছে। সংস্করণ 1.4.0-beta01-এ এই কমিট রয়েছে।
এপিআই পরিবর্তন
-
ComposeNodeLifecycleCallback
যোগ করা হয়েছে যা কম্পোজ নোডের জীবনচক্র পর্যবেক্ষণ করতে দেয় ( I3731b ) -
Composer.disableSourceInformation()
এ@TestOnly
যোগ করা হয়েছে কারণ এই ফাংশনটি শুধুমাত্র পরীক্ষায় কল করা নিরাপদ। ( I896c8 )
বাগ ফিক্স
- কম্পোজিশন স্থানীয় লুকআপে বক্সিং সরান ( 62f66a )
- স্ন্যাপশট অবস্থার মেমরি রেফারেন্স বৈশিষ্ট্য উন্নত করুন ( dfb451 )
সংস্করণ 1.4.0-alpha05
25 জানুয়ারী, 2023
androidx.compose.runtime:runtime:1.4.0-alpha05
এবং androidx.compose.runtime:runtime-saveable:1.4.0-alpha05
প্রকাশিত হয়েছে। সংস্করণ 1.4.0-alpha05 এই কমিট ধারণ করে।
এপিআই পরিবর্তন
- ইনলাইন/অপ্রচলিত-লুকানো ফাংশনগুলির আরও প্রকার/ বাতিলযোগ্যতা ( I24f91 )
সংস্করণ 1.4.0-alpha04
11 জানুয়ারী, 2023
androidx.compose.runtime:runtime-*:1.4.0-alpha04
প্রকাশিত হয়েছে। সংস্করণ 1.4.0-alpha04 এই কমিট ধারণ করে।
এপিআই পরিবর্তন
-
TestMonotonicFrameClock
এখন সঠিক পরীক্ষামূলক টীকা ব্যবহার করে। ( I95c9e )
বাগ ফিক্স
-
SnapshotStateObserver
পুনরাবৃত্ত এবং সমকালীন প্রযোজ্য থেকে রক্ষা করুন ( d902fb )
সংস্করণ 1.4.0-alpha03
7 ডিসেম্বর, 2022
androidx.compose.runtime:runtime-*:1.4.0-alpha03
প্রকাশিত হয়েছে। 1.4.0-alpha03 সংস্করণে এই কমিট রয়েছে।
এপিআই পরিবর্তন
-
ComposableMethod
ক্লাসেjava.lang.reflect.Method#getParameterTypes()
( Iab0c3 ) এর অনুরূপ একটি নতুন পাবলিক পদ্ধতি যোগ করা হচ্ছে
বাগ ফিক্স
-
Recomposer
পরিবর্তনগুলি প্রয়োগ করা শেষ করার পরে স্ন্যাপশট প্রয়োগের বিজ্ঞপ্তিগুলি পাঠানো হয়৷ ( Iad6c0 , b/222093277 )
সংস্করণ 1.4.0-alpha02
9 নভেম্বর, 2022
androidx.compose.runtime:runtime-*:1.4.0-alpha02
প্রকাশিত হয়েছে। সংস্করণ 1.4.0-alpha02 এই কমিট ধারণ করে।
সংস্করণ 1.4.0-alpha01
24 অক্টোবর, 2022
androidx.compose.runtime:runtime-*:1.4.0-alpha01
প্রকাশিত হয়েছে। 1.4.0-alpha01 সংস্করণে এই কমিট রয়েছে।
এপিআই পরিবর্তন
-
SnapshotStateList
এবংSnapshotStateMap
এখনtoList()
এবংtoMap()
এর সুস্পষ্ট বাস্তবায়ন রয়েছে। এই পদ্ধতিগুলি একটি অনুলিপি না করেই তাদের বর্তমান সামগ্রী ফিরিয়ে দেয় কারণ তারা তাদের সামগ্রী সংরক্ষণ করতে ব্যবহৃত অভ্যন্তরীণ অপরিবর্তনীয় ডেটা ফেরত দেয়। এই মানটি ব্যবহার করা যেতে পারে, উদাহরণস্বরূপ, ডেটা অনুলিপি করার প্রয়োজন ছাড়াইsnapshotFlow
ব্যবহার করে মানগুলির একটি প্রবাহ তৈরি করতে। ( Ica2bd )
সংস্করণ 1.3
সংস্করণ 1.3.3
11 জানুয়ারী, 2023
androidx.compose.runtime:runtime-*:1.3.3
প্রকাশিত হয়েছে। সংস্করণ 1.3.3 এই কমিট ধারণ করে.
- 1.3.2 থেকে কোন পরিবর্তন নেই
সংস্করণ 1.3.2
7 ডিসেম্বর, 2022
androidx.compose.runtime:runtime-*:1.3.2
প্রকাশিত হয়েছে। সংস্করণ 1.3.2 এই কমিট ধারণ করে.
বাগ ফিক্স
- androidx.compose.ui 1.3.2 সমর্থন করার জন্য আপডেট করা হয়েছে
সংস্করণ 1.3.1
9 নভেম্বর, 2022
androidx.compose.runtime:runtime-*:1.3.1
প্রকাশিত হয়েছে। সংস্করণ 1.3.1 এই কমিট ধারণ করে.
সংস্করণ 1.3.0
24 অক্টোবর, 2022
androidx.compose.runtime:runtime-*:1.3.0
প্রকাশিত হয়েছে। সংস্করণ 1.3.0 এই কমিট ধারণ করে.
1.2.0 থেকে গুরুত্বপূর্ণ পরিবর্তন
ব্যতিক্রম হ্যান্ডলিং / লাইভ সম্পাদনা সমর্থন
- লাইভ সম্পাদনাকে আরও ভালভাবে সমর্থন করার জন্য, রচনার সময় ব্যতিক্রমগুলি পরিচালনা করতে সক্ষম করার জন্য API যোগ করা হয়েছিল
- হট রিলোডের জন্য কম্পোজিশন ত্রুটি হ্যান্ডলিং
- সংরক্ষণ/পুনরুদ্ধারে লাইভ সম্পাদনা ত্রুটিগুলি পরিচালনা করুন
রচনা ট্রেসিং
- নতুন কম্পোজিশন ট্রেসিং টুলিং সমর্থন করার জন্য রানটাইম ট্রেসিং API যোগ করা হয়েছে
- কম্পোজেবল ট্রেস ইভেন্ট শুরু/শেষ কল জেনারেট করুন
- পুনরায় যোগ করা হয়েছে ComposerKt.traceEventStart(Int, String)
কম্পোজেবল রিফ্লেকশন এপিআই
- কম্পোজেবল এপিআই-এর আরও নির্ভরযোগ্য প্রতিফলন-ভিত্তিক আহ্বানের জন্য একটি নতুন
ComposableMethod
API যোগ করা হয়েছে। - রানটাইম রচনা করতে invokeComposable সরান
- কম্পোজযোগ্য পদ্ধতি চালু করার জন্য এপিআই রিওয়ার্ক করুন
রানটাইম ফিক্স
- মার্কারগুলির জন্য স্লট টেবিল পরীক্ষা করার জন্য ত্রুটিপূর্ণ পরিসীমা পরীক্ষা ঠিক করুন
- অস্থাবর বিষয়বস্তুকে SubcomposeLayout-এ এবং এর বাইরে যাওয়ার অনুমতি দিন
- একটি সাবকম্পোজিশনের নতুন বিষয়বস্তুতে স্থানান্তরিত বিষয়বস্তু ঠিক করুন
স্ন্যাপশট সিস্টেম
- স্ন্যাপশট সিস্টেম মেমরি ম্যানেজমেন্ট, কর্মক্ষমতা, এবং সঠিকতার চারপাশে বিভিন্ন উন্নতি পেয়েছে।
- SnapshotStateObserver-এ সুযোগ অপসারণ অপ্টিমাইজ করুন
- স্বচ্ছ স্ন্যাপশট থেকে তৈরি নেস্টেড স্ন্যাপশটগুলি নিষ্পত্তি করুন
- গ্লোবাল স্ন্যাপশট থেকে স্টেট পড়ার সময় স্থির রেসের অবস্থা
- SnapshotStateObserver-এ DerivedState সমর্থন করুন
- যখন এটি অন্যান্য স্কোপে পড়া হয় তখন কম্পোজিশন থেকে প্রাপ্ত অবস্থা অপসারণ করা প্রতিরোধ করুন
- DerivedState এর ভিতরে HashMap এর পরিবর্তে IdentityArrayMap ব্যবহার করুন
- পরিবর্তনযোগ্য ভেক্টর ব্যবহার করতে প্রাপ্ত রাষ্ট্র পর্যবেক্ষকদের আপডেট করুন
- SnapshotStateObserver স্টেট ক্লিনআপ আপডেট করুন
- ArraySet দিয়ে SnapshotStateObserver.invalidated প্রতিস্থাপন করুন
- গ্লোবাল স্ন্যাপশট থেকে স্টেট পড়ার সময় স্থির রেসের অবস্থা
- DerivedState হ্যাশ গণনায় বাসি রেকর্ডের ব্যবহার ঠিক করুন
- বিশ্বব্যাপী স্ন্যাপশট অগ্রসর করার সময় রেসের অবস্থা ঠিক করুন
- SnapshotStateObserver-এ সুযোগ পর্যবেক্ষণ ক্লিনআপের গতি বাড়ান
সংস্করণ 1.3.0-rc01
5 অক্টোবর, 2022
androidx.compose.runtime:runtime-*:1.3.0-rc01
প্রকাশিত হয়েছে। সংস্করণ 1.3.0-rc01-এ এই কমিট রয়েছে।
বাগ ফিক্স
- স্লট টেবিল থেকে আসা স্থির
ArrayIndexOutOfBoundsException
( b/249076084 )
সংস্করণ 1.3.0-beta03
21শে সেপ্টেম্বর, 2022
androidx.compose.runtime:runtime-*:1.3.0-beta03
প্রকাশিত হয়েছে। সংস্করণ 1.3.0-beta03-এ এই কমিট রয়েছে।
আচরণ ব্রেকিং পরিবর্তন
-
remember
এবংrememberCoroutineScope
পরামিতি CoroutineScope যেখানে পরিবর্তিত হয়েছেcrossinline
। এটি একটি প্রাথমিক রিটার্নের জন্য একটি ত্রুটির প্রতিবেদন করবে যা একটি প্রাথমিক রিটার্নের অনুমতি দেওয়ার পরিবর্তে পরবর্তীতে একটি অভ্যন্তরীণ ত্রুটির প্রতিবেদন করবে৷ - এই পরিবর্তনটি সম্ভাব্যভাবে নতুন কম্পাইলার ত্রুটির দিকে নিয়ে যেতে পারে যা রিপোর্ট করার জন্য এই ফাংশনে পাস করা ল্যাম্বডাস থেকে অ-স্থানীয় রিটার্নগুলি সরাতে হবে। ( Ibea62 )
সংস্করণ 1.3.0-beta02
7 সেপ্টেম্বর, 2022
androidx.compose.runtime:runtime-*:1.3.0-beta02
প্রকাশিত হয়েছে। সংস্করণ 1.3.0-beta02-এ এই কমিট রয়েছে।
বাগ ফিক্স
- আপডেট করা API ( I64ca0 )
সংস্করণ 1.3.0-beta01
24 আগস্ট, 2022
androidx.compose.runtime:runtime-*:1.3.0-beta01
প্রকাশিত হয়েছে। সংস্করণ 1.3.0-beta01-এ এই কমিট রয়েছে।
এপিআই পরিবর্তন
- এই API ব্যবহার করে ডেভেলপার টুলগুলিকে তার পরিচয় ব্যবহার করে কম্পোজিশনের একটি সাব-গ্রুপ দ্রুত খুঁজে পেতে অনুমতি দেওয়ার জন্য
CompositionData
এ একটিfind
পদ্ধতি যোগ করা হয়েছে। ( I5794f )
সংস্করণ 1.3.0-alpha03
10 আগস্ট, 2022
androidx.compose.runtime:runtime-*:1.3.0-alpha03
প্রকাশিত হয়েছে। সংস্করণ 1.3.0-alpha03 এই কমিট ধারণ করে।
সংস্করণ 1.3.0-alpha02
জুলাই 27, 2022
androidx.compose.runtime:runtime-*:1.3.0-alpha02
প্রকাশিত হয়েছে। সংস্করণ 1.3.0-alpha02 এই কমিট ধারণ করে।
এপিআই পরিবর্তন
- পিছনের সামঞ্জস্যের জন্য
ComposerKt.traceEventStart(Int, String)
পুনরায় যোগ করা হয়েছে ( I6e6de )
সংস্করণ 1.3.0-alpha01
জুন 29, 2022
androidx.compose.runtime:runtime-*:1.3.0-alpha01
প্রকাশিত হয়েছে। সংস্করণ 1.3.0-alpha01-এ এই কমিট রয়েছে।
এপিআই পরিবর্তন
- রানটাইমে ইউটিলিটি কার্যকারিতা সরানো হচ্ছে ( I4f729 )
সংস্করণ 1.2
সংস্করণ 1.2.1
10 আগস্ট, 2022
androidx.compose.runtime:runtime-*:1.2.1
প্রকাশিত হয়েছে। সংস্করণ 1.2.1 এই কমিট ধারণ করে.
বাগ ফিক্স
- ফিক্সড মেমরি লিক: স্বচ্ছ স্ন্যাপশট থেকে তৈরি নেস্টেড স্ন্যাপশটগুলিকে নিষ্পত্তি করুন b/239603305
সংস্করণ 1.2.0
জুলাই 27, 2022
androidx.compose.runtime:runtime-*:1.2.0
প্রকাশিত হয়েছে। সংস্করণ 1.2.0 এই কমিট ধারণ করে.
1.1.0
থেকে গুরুত্বপূর্ণ পরিবর্তন
কম্পোজ রানটাইমে 1.2.0-এ প্রবর্তিত বেশ কয়েকটি বৈশিষ্ট্য রয়েছে, সাথে অনেকগুলি স্থিতিশীল বাগ সংশোধন করা হয়েছে। সবচেয়ে উল্লেখযোগ্য নতুন বৈশিষ্ট্য ছিল
movableContentOf
API এর প্রবর্তন , যা জটিল UX যেমন শেয়ার্ড এলিমেন্ট ট্রানজিশন সক্ষম করতে ব্যবহার করা যেতে পারে।movableContentOf
API একটি কম্পোজেবল ল্যাম্বডাকে একটি ল্যাম্বডায় রূপান্তরিত করে যা এটির অবস্থা এবং সংশ্লিষ্ট নোডগুলিকে বলা হয় এমন যেকোনো নতুন অবস্থানে নিয়ে যায়। যখন পূর্ববর্তী কলটি কম্পোজিশন ছেড়ে চলে যায় তখন রাজ্যটি সাময়িকভাবে সংরক্ষিত থাকে এবং যদি ল্যাম্বডাতে একটি নতুন কল কম্পোজিশনে প্রবেশ করে তাহলে রাজ্য এবং সংশ্লিষ্ট নোডগুলিকে নতুন কলের অবস্থানে সরানো হয়। যদি কোন নতুন কল যোগ করা না হয় তাহলে রাষ্ট্র স্থায়ীভাবে সরানো হয় এবং মনে রাখবেন পর্যবেক্ষকদের অবহিত করা হয়।যদি একই কম্পোজিশনে ল্যাম্বডা-এর একটি
movableContentOf
একাধিকবার কল করা হয়, তাহলে প্রতিটি কলের জন্য নতুন স্টেট এবং নোড তৈরি করা হয় এবং যখন কলগুলি কম্পোজিশন থেকে বেরিয়ে যায় এবং নতুন কলগুলি প্রবেশ করে, স্টেটটি প্রথম ছেড়ে যাওয়া কলগুলি থেকে ক্রমানুসারে প্রবেশকারী কলগুলিতে স্থানান্তরিত হয়। তাদের বলা হয়। নতুন কল দ্বারা দাবি না করা সমস্ত রাজ্য স্থায়ীভাবে মুছে ফেলা হয়।এটি এবং আরও কয়েকটি নতুন বৈশিষ্ট্য ছাড়াও, রানটাইম এবং স্ন্যাপশট স্টেট সিস্টেমকে স্থিতিশীল করতে অনেক সময় ব্যয় করা হয়েছিল। বিভিন্ন মেমরি লিক মুছে ফেলা হয়েছে এবং কোড পাথ অপ্টিমাইজ করা হয়েছে।
পরিবর্তনগুলির একটি সংক্ষিপ্ত তালিকা নীচে পাওয়া যাবে:
1.2
-এ নতুন বৈশিষ্ট্য
- পরীক্ষামূলক স্ন্যাপশট যোগ করুন অনিরাপদEnter/Leave
- Snapshot.asContextElement পরীক্ষামূলক API যোগ করুন
- Snapshot.withoutReadObservation প্রবর্তন করুন
- রাজ্যকে একটি রচনার মধ্যে সরানোর অনুমতি দিন
- রচনায় পুনর্গঠনের ট্রেসিং
1.2
-এ কর্মক্ষমতা
1.2
-এ বাগ ফিক্স
- রিলিজ রিকম্পোজ স্কোপ থেকে ট্র্যাকিং তথ্য সরান
- যখন এটি অন্যান্য স্কোপে পড়া হয় তখন কম্পোজিশন থেকে প্রাপ্ত অবস্থা অপসারণ করা প্রতিরোধ করুন
- SnapshotStateObserver-এ আরও দক্ষ রিমুভস্কোপ() ব্যবহার করুন
- সংমিশ্রণে প্রাপ্ত রাষ্ট্র নির্ভরতা পরিষ্কার করুন
- চলমান বিষয়বস্তুর ভিতরে অভ্যন্তরীণ পুনর্গঠনের পরে বর্তমান কমপোজিটকিহ্যাশ পরিবর্তনের বিষয়টি ঠিক করুন
- নিষ্পত্তির সময় অবৈধ রচনাগুলি পরিষ্কার করুন
- পুনর্গঠনের সময় রিড ডিরাইভ স্টেট ঠিক করুন
- প্রাপ্ত রাষ্ট্র বস্তু পর্যবেক্ষণ করার সময় মেমরি লিক ঠিক করুন
- স্থির চলমান সামগ্রী যৌগিক হ্যাশ কী সামঞ্জস্যপূর্ণ
- কোণে একটি কেস ঠিক করুন যেখানে কম্পোজার ক্র্যাশ হবে
- একটি গোষ্ঠী জোরপূর্বক পুনর্গঠন জোরপূর্বক অবৈধকরণ নিশ্চিত করুন৷
- ইনপুট সহ স্মরণ সংরক্ষণযোগ্য ভুল ক্রমে পুনরুদ্ধার করা হলে বাগ সংশোধন করুন
সংস্করণ 1.2.0-rc03
জুন 29, 2022
androidx.compose.runtime:runtime-*:1.2.0-rc03
প্রকাশিত হয়েছে। সংস্করণ 1.2.0-rc03 এই কমিট ধারণ করে।
বাগ ফিক্স
- প্রাপ্ত রাষ্ট্র পর্যবেক্ষণগুলি পূর্বে নিঃশর্তভাবে পুনর্গঠন স্কোপ এবং কম্পোজিশন থেকে একত্রে সরিয়ে দেওয়া হয়েছিল, যা অন্যান্য সুযোগগুলিকে ভেঙে দিয়েছে যা এখনও উদ্ভূত অবস্থা পর্যবেক্ষণ করছে। এই পরিবর্তনটি শুধুমাত্র প্রাপ্ত রাষ্ট্রের দৃষ্টান্তগুলিকে সরিয়ে দেয় যদি এটি আর অন্য স্কোপের দ্বারা পর্যবেক্ষণ করা না হয়। ( b/236618362 )
সংস্করণ 1.2.0-rc02
22 জুন, 2022
androidx.compose.runtime:runtime-*:1.2.0-rc02
প্রকাশিত হয়েছে। সংস্করণ 1.2.0-rc02 এই কমিট ধারণ করে।
সংস্করণ 1.2.0-rc01
15 জুন, 2022
androidx.compose.runtime:runtime-*:1.2.0-rc01
প্রকাশিত হয়েছে। সংস্করণ 1.2.0-rc01-এ এই কমিট রয়েছে।
এপিআই পরিবর্তন
- কম্পোজ লাইব্রেরির ইন্টারফেসগুলি এখন jdk8 ডিফল্ট ইন্টারফেস পদ্ধতি ব্যবহার করে তৈরি করা হয়েছে ( I5bcf1 )
সংস্করণ 1.2.0-beta03
জুন 1, 2022
androidx.compose.runtime:runtime-*:1.2.0-beta03
প্রকাশিত হয়েছে। সংস্করণ 1.2.0-beta03 এই কমিট ধারণ করে।
সংস্করণ 1.2.0-beta02
18 মে, 2022
androidx.compose.runtime:runtime-*:1.2.0-beta02
প্রকাশিত হয়েছে। সংস্করণ 1.2.0-beta02-এ এই কমিট রয়েছে।
সংস্করণ 1.2.0-beta01
11 মে, 2022
androidx.compose.runtime:runtime-*:1.2.0-beta01
প্রকাশিত হয়েছে। সংস্করণ 1.2.0-beta01-এ এই কমিট রয়েছে।
নতুন বৈশিষ্ট্য
- এটি 1.2 এর প্রথম বিটা রিলিজ!
এপিআই পরিবর্তন
- পরীক্ষামূলক
Snapshot.unsafeEnter/unsafeLeave
( I108f3 ) যোগ করা হয়েছে - পরীক্ষামূলক
Snapshot.asContextElement()
API ( Iff072 ) যোগ করা হয়েছে -
@ComposableTargetMarker
দ্বারা চিহ্নিত@ComposableTarget
টীকা এবং টীকা এখন@file
উপসর্গ ব্যবহার করে ফাইল স্কোপে ব্যবহার করা যেতে পারে। ফাইলের সুযোগে একটি টার্গেট টীকা ব্যবহার করলে কম্পাইলার অনুমান করবে যে ফাইলের সমস্ত কম্পোজযোগ্য ফাংশনগুলি সংশ্লিষ্ট প্রয়োগকারীকে লক্ষ্য করার উদ্দেশ্যে করা হয়েছে। উদাহরণস্বরূপ,@file:UiComposable
ব্যবহার করে ঘোষণা করে যে সমস্ত@Composable
ফাংশন কম্পোজ UI প্রয়োগকারীকে লক্ষ্য করে। একটি ফাংশন যা অন্য প্রয়োগকারীকে লক্ষ্য করতে হবে তা অবশ্যই পছন্দসই প্রয়োগকারীর জন্য লক্ষ্য মার্কার টীকা সরবরাহ করতে হবে। ( I40804 )
সংস্করণ 1.2.0-alpha08
20 এপ্রিল, 2022
androidx.compose.runtime:runtime-*:1.2.0-alpha08
প্রকাশিত হয়েছে। সংস্করণ 1.2.0-alpha08 এই কমিট ধারণ করে।
এপিআই পরিবর্তন
-
CompositionTracer
ইন্টারফেসেTracingInProgress
যোগ করা হয়েছে। ( Ic6f12 ) - কম্পোজারে
recomposeScopeIdentity
যোগ করুন ( I0c873 ) -
OptIn(InternalComposeTracingApi)
এ সীমাবদ্ধ ট্রেসিং API (Composer.setTracer)। ( I9187f ) -
ResuableContentHost
যোগ করা হয়েছে যা পুনঃব্যবহারযোগ্য সামগ্রীর জন্য তৈরি করা রাষ্ট্রের জীবনকালের উপর আরও ভাল নিয়ন্ত্রণের অনুমতি দেয়। উদাহরণস্বরূপ, যদি একটি সাব-কম্পোজিশন সাময়িকভাবে ব্যবহার না করা হয় তাহলে বিষয়বস্তু নিষ্ক্রিয় হয়ে যেতে পারে যার ফলে কম্পোজিশনের সমস্ত মনে রাখা অবস্থা ট্রিগারিং ভুলে যেতে পারে, উদাহরণস্বরূপ, সমস্ত নিষ্পত্তিযোগ্য প্রভাব৷ ( I2c0f2 , b/220322704 )
সংস্করণ 1.2.0-alpha07
6 এপ্রিল, 2022
androidx.compose.runtime:runtime-*:1.2.0-alpha07
প্রকাশিত হয়েছে। সংস্করণ 1.2.0-alpha07 এই কমিট ধারণ করে।
এপিআই পরিবর্তন
- নতুন ফাংশন
Snapshot.withoutReadObservation { ... }
এটি ব্যবহারকারীদের এই ব্লকের সময় পড়া রাষ্ট্রীয় মানগুলির পরিবর্তনের সাবস্ক্রাইব না করে পাস করা ল্যাম্বডা চালানোর অনুমতি দেয়। আপনি যখন স্ন্যাপশট ভিত্তিক থ্রেড সেফ রাইটিং/রিডগুলি থেকে উপকৃত হতে চান তখন আপনি ব্যবহারের ক্ষেত্রে এটি দরকারী বলে মনে করতে পারেন, তবে অপ্রয়োজনীয় পুনরুদ্ধার বা স্মরণ না করে মানটি পড়তে সক্ষম হতে চান। ( I9f365 , খ/214054486 )
সংস্করণ 1.2.0-alpha06
23 মার্চ, 2022
androidx.compose.runtime:runtime-*:1.2.0-alpha06
প্রকাশিত হয়েছে। সংস্করণ 1.2.0-alpha06 এই কমিট ধারণ করে।
সংস্করণ 1.2.0-alpha05
9 মার্চ, 2022
androidx.compose.runtime:runtime-*:1.2.0-alpha05
প্রকাশিত হয়েছে। সংস্করণ 1.2.0-alpha05 এই কমিট ধারণ করে।
বাহ্যিক অবদান
- কোটলিনেক্স করুটাইনস 1.6.0 ( আই 3366 ডি ) ব্যবহার করতে আপডেট হয়েছে
সংস্করণ 1.2.0-alpha04
23 ফেব্রুয়ারি, 2022
androidx.compose.runtime:runtime-*:1.2.0-alpha04
প্রকাশিত হয়েছে। সংস্করণ 1.2.0-alpha04 এই কমিট ধারণ করে।
এপিআই পরিবর্তন
যুক্ত
ComposableTarget
,ComposableTargetMarker
এবংComposableOpenTarget
যা কোনও কমপোজেবল ফাংশনকে যখন কোনও অ্যাপলিয়ারকে লক্ষ্য করে বলা হয় তখন এটি ব্যবহার করার জন্য ডিজাইন করা হয়নি বলে সংকলনের সময় রিপোর্টিংয়ের অনুমতি দেয়।বেশিরভাগ ক্ষেত্রে টীকাগুলি রচনা সংকলক প্লাগইন দ্বারা অনুমান করা যায় তাই এই টীকাগুলি ব্যবহার করা সরাসরি বিরল হওয়া উচিত। যে কেসগুলি অনুমান করা যায় না সেগুলির মধ্যে একটি কাস্টম অ্যাপলিয়ার, অ্যাবস্ট্রাক্ট কমপোজেবল ফাংশন (যেমন ইন্টারফেস পদ্ধতি), ক্ষেত্রগুলি বা গ্লোবাল ভেরিয়েবলগুলি যা কমপোজেবল ল্যাম্বডাস (স্থানীয় ভেরিয়েবল এবং প্যারামিটারগুলি অনুমান করা হয়) তা অন্তর্ভুক্ত করা এবং ব্যবহার করার অন্তর্ভুক্ত রয়েছে, বা
ComposeNode
বা সম্পর্কিত কমপোজেবল ফাংশনগুলি ব্যবহার করার সময় অন্তর্ভুক্ত .কাস্টম অ্যাপলারের জন্য কমপোজেবল ফাংশনগুলি যা
ComposeNode
বাReusableComposeNode
কল করে ফাংশন এবং কোনও কমপোজেবল ল্যাম্বডা প্যারামিটার প্রকারের জন্য একটিCompoableTarget
টীকা যুক্ত করতে হবে। তবে এটি প্রস্তাবিত যে একটি টীকা তৈরি করার জন্য যাComposableTargetMarker
সাথে টিকা দেওয়া হয় এবং তারপরে চিহ্নিত টীকাটি সরাসরিComposableTarget
পরিবর্তে ব্যবহার করা হয়।ComposableTargetMarker
সাথে চিহ্নিত একটি কমপোজেবল টীকাটি অ্যাপলিয়ার প্যারামিটার হিসাবে অ্যাট্রিবিউট ক্লাসের সম্পূর্ণ যোগ্য নামের সাথে একটিComposbleTarget
সমতুল্য।ComposableTargetMarker
ব্যবহারের উদাহরণের জন্যanroidx.compose.ui.UiComposable
দেখুন। ( I38f11 )
সংস্করণ 1.2.0-alpha03
ফেব্রুয়ারী 9, 2022
androidx.compose.runtime:runtime-*:1.2.0-alpha03
প্রকাশিত হয়েছে। সংস্করণ 1.2.0-alpha03 এই কমিট ধারণ করে।
এপিআই পরিবর্তন
যোগ করা
movableContentOf
যা একটি কমপোজেবল ল্যাম্বডাকে একটি ল্যাম্বডায় রূপান্তর করে যা এটিকে রাষ্ট্রকে সরিয়ে দেয় এবং সংশ্লিষ্ট নোডগুলিকে যে কোনও নতুন স্থানে বলা হয়। যখন পূর্ববর্তী কলটি রচনাটি ছেড়ে যায় তখন রাষ্ট্রটি অস্থায়ীভাবে সংরক্ষণ করা হয় এবং যদি ল্যাম্বডায় একটি নতুন কল রচনাটিতে প্রবেশ করে তবে রাজ্য এবং সম্পর্কিত নোডগুলি নতুন কলটির স্থানে স্থানান্তরিত হয়। যদি কোনও নতুন কল যুক্ত না করা হয় তবে রাজ্য স্থায়ীভাবে সরানো হয় এবং মনে রাখবেন পর্যবেক্ষকদের অবহিত করা হয়েছে।যদি কোনও
movableContentOf
ল্যাম্বডাকে একই রচনায় একাধিকবার বলা হয়, প্রতিটি কলের জন্য নতুন রাষ্ট্র এবং নোড তৈরি করা হয় এবং কলগুলি যেমন রচনাটি ছেড়ে দেয় এবং নতুন কলগুলি প্রবেশ করে, রাজ্যটি প্রথম ছেড়ে দেওয়া কলগুলি থেকে অর্ডারটিতে প্রবেশ করানো কলগুলিতে সরানো হয় তাদের বলা হয়। নতুন কল দ্বারা দাবি করা সমস্ত রাষ্ট্র স্থায়ীভাবে সরানো হয়েছে। ( আইবি 4850 )কমপোজেবল ফাংশনগুলির আরও বিশদ ট্রেসিং সরবরাহ করতে সরঞ্জামগুলি সক্ষম করতে রচনাটিতে একটি ট্রেসিং এপিআই যুক্ত করা হয়েছে। সংকলকটি এখন ট্রেসিং এপিআই -তে কল তৈরি করে যা উত্সের তথ্য অন্তর্ভুক্ত করে। ( Ib0eb5 )
রিলিজ বিল্ড থেকে এই কলগুলি এবং সম্পর্কিত উত্সের তথ্যগুলি অপসারণ করতে, নিম্নলিখিত প্রোগুয়ার্ড বিধি যুক্ত করুন:
-assumenosideeffects public class androidx.compose.runtime.ComposerKt { boolean isTraceInProgress(); void traceEventStart(int,java.lang.String); void traceEventEnd(); }
InternalComposeScope
যুক্ত করুন যা সরঞ্জামগুলি পুনরুদ্ধারগুলির সময় একটি কমপোজেবল সনাক্ত করার ক্ষমতা দেয়। ( I07a3f )
সংস্করণ 1.2.0-alpha02
জানুয়ারী 26, 2022
androidx.compose.runtime:runtime-*:1.2.0-alpha02
প্রকাশিত হয়েছে। সংস্করণ 1.2.0-alpha02 এই কমিট ধারণ করে।
সংস্করণ 1.2.0-alpha01
জানুয়ারী 12, 2022
androidx.compose.runtime:runtime-*:1.2.0-alpha01
প্রকাশিত হয়েছে। সংস্করণ 1.2.0-alpha01-এ এই কমিট রয়েছে।
এপিআই পরিবর্তন
- লেআউট ইন্সপেক্টরটিতে আক্রমণকারী আইডি তৈরির জন্য
CompositionData
identity
ক্ষেত্র যুক্ত করা হয়েছে। ( আইসি 116 ই )
নির্ভরতা আপডেট
- এখন কোটলিন
1.6.10
এর উপর নির্ভর করে।
সংস্করণ 1.1
সংস্করণ 1.1.1
23 ফেব্রুয়ারি, 2022
androidx.compose.runtime:runtime-*:1.1.1
প্রকাশিত হয়েছে। সংস্করণ 1.1.1 এই কমিট ধারণ করে.
বাগ ফিক্স
-
androidx.compose.ui.platform.RenderNodeLayer.updateDisplayList
NullPointerException
- অ্যান্ড্রয়েডের ক্লিপবোর্ড থেকে পড়ার সময় ক্লিপবোর্ড সামগ্রী দ্বারা সৃষ্ট ক্র্যাশটি ঠিক করুন। ( I06020 , বি/197769306 )
-
LazyVerticalGrid
স্থির আরটিএল ( এওএসপি/1931080 , বি/207510535 )
সংস্করণ 1.1.0
ফেব্রুয়ারী 9, 2022
androidx.compose.runtime:runtime-*:1.1.0
প্রকাশিত হয়েছে। সংস্করণ 1.1.0 এ এই কমিটস রয়েছে।
1.0.0 থেকে গুরুত্বপূর্ণ পরিবর্তন
- অ্যান্ড্রয়েড 12 ওভারক্রোল প্রভাবের জন্য স্থিতিশীল সমর্থন
- টার্গেট সাইজিং স্পর্শ করার উন্নতি
- নোট করুন যে, 1.0 রচনা সম্পর্কিত ক্ষেত্রে, উপাদান উপাদানগুলি স্পর্শের লক্ষ্য আকারের জন্য উপাদান অ্যাক্সেসযোগ্যতার নির্দেশিকাগুলি পূরণের জন্য তাদের লেআউট স্থানটি প্রসারিত করবে। উদাহরণস্বরূপ, বোতামের টাচ লক্ষ্যটি ন্যূনতম আকারে
48x48dp
এ প্রসারিত হবে, এমনকি যদি আপনি বোতামটির আকারটি আরও ছোট করতে সেট করেন। আপনি যদি ভিউগুলি মিশ্রিত করেন এবং রচনা করেন তবে এটি উপাদান ডিজাইনের উপাদানগুলির একই আচরণে উপাদান রচনা করে। এই পরিবর্তনটিও নিশ্চিত করে যে আপনি যখন কমপোজ উপাদান উপাদানগুলি ব্যবহার করে আপনার ইউআই তৈরি করেন, স্পর্শ লক্ষ্য অ্যাক্সেসযোগ্যতার জন্য ন্যূনতম প্রয়োজনীয়তা পূরণ করা হবে। - নেভিগেশন রেলের জন্য স্থিতিশীল সমর্থন
- স্থিতিশীল থেকে পূর্বে পরীক্ষামূলক এপিআইগুলির একটি সংখ্যা স্নাতক
- কোটলিনের নতুন সংস্করণগুলির জন্য সমর্থন
সংস্করণ 1.1.0-আরসি 03
জানুয়ারী 26, 2022
androidx.compose.runtime:runtime-*:1.1.0-rc03
প্রকাশিত হয়েছে। সংস্করণ 1.1.0-rc03 এই কমিট ধারণ করে।
বাগ ফিক্স
- কমপোজ উপাদান
1.1.0-rc03
সমর্থন করার জন্য আপডেট হয়েছে
সংস্করণ 1.1.0-rc01
15 ডিসেম্বর, 2021
androidx.compose.runtime:runtime-*:1.1.0-rc01
প্রকাশিত হয়েছে। সংস্করণ 1.1.0-rc01-এ এই কমিট রয়েছে।
সংস্করণ 1.1.0-beta04
ডিসেম্বর 1, 2021
androidx.compose.runtime:runtime-*:1.1.0-beta04
প্রকাশিত হয়েছে। সংস্করণ 1.1.0-BETA04 এর মধ্যে এই কমিট রয়েছে।
নতুন বৈশিষ্ট্য
- কোটলিনের সাথে সামঞ্জস্যপূর্ণ হতে আপডেট হয়েছে
1.6.0
সংস্করণ 1.1.0-beta03
17 নভেম্বর, 2021
androidx.compose.runtime:runtime-*:1.1.0-beta03
প্রকাশিত হয়েছে। সংস্করণ 1.1.0-beta03-এ এই কমিট রয়েছে।
সংস্করণ 1.1.0-beta02
3 নভেম্বর, 2021
androidx.compose.runtime:runtime-*:1.1.0-beta02
প্রকাশিত হয়েছে। সংস্করণ 1.1.0-BETA02 এর মধ্যে এই কমিট রয়েছে।
এপিআই পরিবর্তন
- স্ন্যাপশট কোডটি একাধিক ফাইলে বিভক্ত ছিল, তবে সমস্ত এখনও একই জেভিএম ক্লাসে বাস করে। ( আইসি 6 সি 98 )
সংস্করণ 1.1.0-beta01
27 অক্টোবর, 2021
androidx.compose.runtime:runtime-*:1.1.0-beta01
প্রকাশিত হয়েছে। সংস্করণ 1.1.0-beta01-এ এই কমিট রয়েছে।
সংস্করণ 1.1.0-alpha06
13 অক্টোবর, 2021
androidx.compose.runtime:runtime-*:1.1.0-alpha06
প্রকাশিত হয়েছে। সংস্করণ 1.1.0-ALPHA06 এর মধ্যে এই কমিট রয়েছে।
এপিআই পরিবর্তন
- সুরকার পদ্ধতিগুলি থেকে
InternalCompilerApi
সরানো হয়েছে যা ক্রস-মডিউল ( আই 1 এএ 0 বি ) বলা প্রয়োজন -
Recomposer.state
অবমূল্যায়ন করা হয়েছে এবংRecomposer.currentState
দ্বারা প্রতিস্থাপন করা হয়েছে এর ধরণটি একটি রাষ্ট্রীয় প্রবাহে পরিবর্তন করতে ( আইসি 2 এবি 3 , বি/197773820 )
সংস্করণ 1.1.0-alpha05
29 সেপ্টেম্বর, 2021
androidx.compose.runtime:runtime-*:1.1.0-alpha05
প্রকাশিত হয়েছে। সংস্করণ 1.1.0-ALPHA05 এর মধ্যে এই কমিট রয়েছে।
সংস্করণ 1.1.0-alpha04
15 সেপ্টেম্বর, 2021
androidx.compose.runtime:runtime-*:1.1.0-alpha04
প্রকাশিত হয়েছে। সংস্করণ 1.1.0-ALPHA04 এর মধ্যে এই কমিট রয়েছে।
সংস্করণ 1.1.0-alpha03
1 সেপ্টেম্বর, 2021
androidx.compose.runtime:runtime-*:1.1.0-alpha03
প্রকাশিত হয়েছে। সংস্করণ 1.1.0-ALPHA03 এ এই কমিটগুলি রয়েছে।
নতুন বৈশিষ্ট্য
- কমপোজ সংকলক এখন কমপোজ রানটাইম (1.0) এর পুরানো সংস্করণগুলিকে সমর্থন করে। এই পরিবর্তনের আগে, রচনা সংকলকটি কেবল একই সংস্করণ বা তার পরে কমপোজ রানটাইমের সাথে সামঞ্জস্যপূর্ণ ছিল। এই পরিবর্তনের পরে, রচনা সংকলকটি রচনা রানটাইম (1.0) এর পুরানো সংস্করণের সাথে সামঞ্জস্যপূর্ণ। ( এওএসপি/1796968 )
- কোটলিন
1.5.30
এর উপর নির্ভর করতে কমপোজ1.1.0-alpha03
আপডেট হয়েছে। ( I74545 )
সংস্করণ 1.1.0-alpha02
18 আগস্ট, 2021
androidx.compose.runtime:runtime-*:1.1.0-alpha02
প্রকাশিত হয়েছে। সংস্করণ 1.1.0-ALPHA02 এ এই কমিটগুলি রয়েছে।
সংস্করণ 1.1.0-alpha01
4 আগস্ট, 2021
androidx.compose.runtime:runtime-*:1.1.0-alpha01
প্রকাশিত হয়েছে। সংস্করণ 1.1.0-ALPHA01 এর মধ্যে এই কমিট রয়েছে।
সংস্করণ 1.0
সংস্করণ 1.0.5
3 নভেম্বর, 2021
androidx.compose.runtime:runtime-*:1.0.5
প্রকাশিত হয়েছে। সংস্করণ 1.0.5 এ এই কমিটস রয়েছে।
বাগ ফিক্স
- একটি ক্র্যাশ ট্র্যাকিং ডাইরিভডস্টেট অফ উদাহরণ স্থির করে। ( এওএসপি/1792247 )
সংস্করণ 1.0.4
13 অক্টোবর, 2021
androidx.compose.runtime:runtime-*:1.0.4
প্রকাশিত হয়েছে। সংস্করণ 1.0.4 এ এই কমিটস রয়েছে।
নির্ভরতা আপডেট
- কোটলিন
1.5.31
এর উপর নির্ভর করতে আপডেট হয়েছে
সংস্করণ 1.0.3
29 সেপ্টেম্বর, 2021
androidx.compose.runtime:runtime-*:1.0.3
প্রকাশিত হয়েছে। সংস্করণ 1.0.3 এ এই কমিটস রয়েছে।
নির্ভরতা আপডেট
- কোটলিন
1.5.30
এর উপর নির্ভর করতে আপডেট হয়েছে
সংস্করণ 1.0.2
1 সেপ্টেম্বর, 2021
androidx.compose.runtime:runtime-*:1.0.2
প্রকাশিত হয়েছে। সংস্করণ 1.0.2 এ এই কমিটস রয়েছে।
রচনা 1.0.2
রিলিজ সমর্থন করতে আপডেট হয়েছে। রচনা 1.0.2
এখনও কোটলিন 1.5.21
এর সাথে সামঞ্জস্যপূর্ণ।
সংস্করণ 1.0.1
4 আগস্ট, 2021
androidx.compose.runtime:runtime-*:1.0.1
প্রকাশিত হয়েছে। সংস্করণ 1.0.1 এ এই কমিটস রয়েছে।
নির্ভরতা আপডেট
- কোটলিন
1.5.21
এর উপর নির্ভর করতে আপডেট হয়েছে।
সংস্করণ 1.0.0
28 জুলাই, 2021
androidx.compose.runtime:runtime-*:1.0.0
প্রকাশিত হয়েছে। সংস্করণ 1.0.0 এই কমিট ধারণ করে.
1.0.0 এর প্রধান বৈশিষ্ট্য
এটি রচনাটির প্রথম স্থিতিশীল প্রকাশ। আরও তথ্যের জন্য দয়া করে অফিসিয়াল রচনা প্রকাশের ব্লগটি দেখুন!
পরিচিত সমস্যা
আপনি যদি অ্যান্ড্রয়েড স্টুডিও বাম্বলবি ক্যানারি 4 বা এজিপি
7.1.0-alpha04
/7.1.0-alpha05
ব্যবহার করছেন তবে আপনি নিম্নলিখিত ক্র্যাশটি আঘাত করতে পারেন:java.lang.AbstractMethodError: abstract method "void androidx.lifecycle.DefaultLifecycleObserver.onCreate(androidx.lifecycle.LifecycleOwner)"
ঠিক করতে, আপনার
build.gradle
ফাইলটিতে অস্থায়ীভাবে আপনার মিনিটডকভার্স 24+ এ বাড়ান। এই সমস্যাটি অ্যান্ড্রয়েড স্টুডিও বাম্বলবি এবং এজিপি7.1
এর পরবর্তী সংস্করণে স্থির করা হবে। ( বি/194289155 )
সংস্করণ 1.0.0-আরসি 02
14 জুলাই, 2021
androidx.compose.runtime:runtime-*:1.0.0-rc02
প্রকাশিত হয়েছে। সংস্করণ 1.0.0-rc02 এই কমিট ধারণ করে।
- স্ন্যাপশটস্টেটোবসার্ভারে স্থির জাতি শর্তগুলি স্পার্যাটিক নালপোইন্টার এক্সসেপশনগুলির কারণ করে। ( এওএসপি/1763445 , এওএসপি/1758105 , বি/1926777711 )
- রানটাইম স্ন্যাপশটগুলির সাথে স্থির সমস্যাগুলি
java.lang.IllegalStateException: Reading a state that was created after the snapshot was taken or in a snapshot that has not yet been applied
( বি/193006595 , বি/192570897 )
সংস্করণ 1.0.0-rc01
জুলাই 1, 2021
androidx.compose.runtime:runtime-*:1.0.0-rc01
প্রকাশিত হয়েছে। সংস্করণ 1.0.0-rc01 এই কমিট ধারণ করে।
সংস্করণ 1.0.0-BETA09
16 জুন, 2021
androidx.compose.runtime:runtime-*:1.0.0-beta09
প্রকাশিত হয়েছে। সংস্করণ 1.0.0-BETA09 এর মধ্যে এই কমিট রয়েছে।
যুক্ত প্রোফাইল বিধি
এই রিলিজটি নিম্নলিখিত রচনা মডিউলগুলিতে প্রোফাইল নিয়ম যুক্ত করে ( i14ed6 ):
- androidx.compose.animation
- androidx.compose.animation-core
- androidx.compose.foundation
- androidx.compose.foundation-layout
- androidx.compose.material
- androidx.compose.material-pipple
- androidx.compose.runtime
- androidx.compose.ui
- androidx.compose.ui.geometry
- androidx.compose.ui.graphics
- androidx.compose.ui.text
- androidx.compose.ui.text
- androidx.compose.ui.unit
- androidx.compose.ui.util
প্রোফাইল নিয়ম কি?
একটি লাইব্রেরির জন্য প্রোফাইল বিধিগুলি
src/main
বা সমতুল্য ডিরেক্টরিতে অবস্থিত একটি পাঠ্য ফাইলbaseline-prof.txt
নির্দিষ্ট করা আছে। ফাইলটি প্রতি লাইনে একটি নিয়ম নির্দিষ্ট করে, যেখানে এই ক্ষেত্রে একটি নিয়ম লাইব্রেরির পদ্ধতি বা শ্রেণীর সাথে মিলে যাওয়ার জন্য একটি প্যাটার্ন। এই নিয়মগুলির সিনট্যাক্সটি হ'ল মানব-পঠনযোগ্য আর্ট প্রোফাইল ফর্ম্যাটের একটি সুপারসেট যাadb shell profman --dump-classes-and-methods ...
ব্যবহার করার সময় ব্যবহৃত হয়। এই বিধিগুলি পদ্ধতি বা শ্রেণি উভয়কে লক্ষ্য করতে দুটি ফর্মের একটি নেয়।একটি পদ্ধতির নিয়মের নিম্নলিখিত প্যাটার্ন থাকবে:
<FLAGS><CLASS_DESCRIPTOR>-><METHOD_SIGNATURE>
এবং একটি শ্রেণীর নিয়মের নিম্নলিখিত প্যাটার্ন থাকবে:
<CLASS_DESCRIPTOR>
এই পদ্ধতিটি "হট", "স্টার্টআপ", বা "পোস্ট স্টার্টআপ" হিসাবে পতাকাঙ্কিত করা উচিত কিনা তা নির্দেশ করার জন্য এখানে
<FLAGS>
H
,S
এবংP
এক বা একাধিক অক্ষর।<CLASS_DESCRIPTOR>
লক্ষ্যযুক্ত পদ্ধতিটির সাথে সম্পর্কিত শ্রেণীর বর্ণনাকারী। উদাহরণস্বরূপ, ক্লাসandroidx.compose.runtime.SlotTable
Landroidx/compose/runtime/SlotTable;
.<METHOD_SIGNATURE>
হ'ল পদ্ধতির স্বাক্ষর এবং এতে নাম, প্যারামিটারের ধরণ এবং পদ্ধতির রিটার্ন প্রকার অন্তর্ভুক্ত রয়েছে। উদাহরণস্বরূপ, পদ্ধতিfun isPlaced(): Boolean
LayoutNode
বুলিয়ান স্বাক্ষরisPlaced()Z
রয়েছে।এই নিদর্শনগুলিতে ওয়াইল্ডকার্ডগুলি (
**
,*
, এবং?
) থাকতে পারে যাতে একক নিয়ম একাধিক পদ্ধতি বা ক্লাস অন্তর্ভুক্ত থাকে।
নিয়মগুলি কী করে?
পতাকা
H
রয়েছে এমন একটি পদ্ধতি নির্দেশ করে যে এই পদ্ধতিটি একটি "হট" পদ্ধতি এবং এটি সময়ের আগে সংকলন করা উচিত।পতাকা
S
রয়েছে এমন একটি পদ্ধতি ইঙ্গিত দেয় যে এটি এমন একটি পদ্ধতি যা স্টার্টআপে ডাকা হয় এবং সংকলনের ব্যয় এড়াতে এবং স্টার্টআপের সময় পদ্ধতিটির ব্যাখ্যা এড়াতে সময়ের আগে সংকলন করা উচিত।পতাকা
P
রয়েছে এমন একটি পদ্ধতি ইঙ্গিত দেয় যে এটি এমন একটি পদ্ধতি যা স্টার্টআপের পরে বলা হয়।এই ফাইলটিতে উপস্থিত একটি শ্রেণি ইঙ্গিত দেয় যে এটি স্টার্টআপের সময় ব্যবহৃত হয় এবং শ্রেণি লোডিংয়ের ব্যয় এড়াতে স্তরে প্রাক-বরাদ্দ করা উচিত।
এটা কিভাবে কাজ করে?
- গ্রন্থাগারগুলি এই নিয়মগুলি সংজ্ঞায়িত করতে পারে যা এএআর শিল্পকর্মগুলিতে প্যাকেজ করা হবে। এরপরে যখন কোনও অ্যাপ্লিকেশন তৈরি করা হয় যার মধ্যে এই শিল্পকর্মগুলি অন্তর্ভুক্ত থাকে, এই নিয়মগুলি একত্রিত হয় এবং একত্রিত নিয়মগুলি একটি কমপ্যাক্ট বাইনারি আর্ট প্রোফাইল তৈরি করতে ব্যবহৃত হয় যা অ্যাপ্লিকেশনটির জন্য নির্দিষ্ট। অ্যাপ্লিকেশনটির কার্যকারিতা উন্নত করতে বিশেষত প্রথম রানটি উন্নত করতে অ্যাপ্লিকেশনটির একটি নির্দিষ্ট সাবসেট সংকলন করার জন্য অ্যাপ্লিকেশনটি ডিভাইসে ইনস্টল করা থাকলে আর্ট এই প্রোফাইলটি উপার্জন করতে পারে। নোট করুন যে এটি ডিবাগেবল অ্যাপ্লিকেশনগুলিতে কোনও প্রভাব ফেলবে না।
সংস্করণ 1.0.0-BETA08
2 জুন, 2021
androidx.compose.runtime:runtime-*:1.0.0-beta08
প্রকাশিত হয়েছে। সংস্করণ 1.0.0-BETA08 এ এই কমিটগুলি রয়েছে।
এপিআই পরিবর্তন
-
State<T>
এখনState<out T>
( i69049 ) -
ControlledComposition
এপিআই পরিবর্তনগুলি একটি পুনরায় সংমিশ্রণ একক পাসে পরিবর্তনগুলি সক্ষম করতে সক্ষম করতে। ( আইএএএফডি 1 , বি/184173932 )
সংস্করণ 1.0.0-BETA07
18 মে, 2021
androidx.compose.runtime:runtime-*:1.0.0-beta07
প্রকাশিত হয়েছে। সংস্করণ 1.0.0-BETA07 এর মধ্যে এই কমিট রয়েছে।
এপিআই পরিবর্তন
- নতুন কমপোজ সংকলক এপিআই যুক্ত করা হয়েছে যা সংকলক দ্বারা উত্পাদিত উত্স তথ্য উত্স মিনিফিকেশন চলাকালীন অপসারণ করতে দেয়। ( Ia34e6 )
ReusableContent
পরিচয় করিয়ে দেয় যা কীটি পরিবর্তন করা হয় তখন নোডগুলি তার সামগ্রীতে পুনরায় ব্যবহার করার চেষ্টা করবে। যখন কীটি পরিবর্তন করা হয় তখন সামগ্রীর জন্য স্লট টেবিলের পূর্ববর্তী মানগুলি উপেক্ষা করা হয় যা উত্পন্ন নোডগুলি এবং নোডগুলি আপডেট করতে ব্যবহৃত মানগুলি ব্যতীত উপেক্ষা করা হয়।ReusableComposeNode
পরিচয় করিয়ে দেয় যাComposeNode
জন্য করা হিসাবে এটি প্রতিস্থাপনের পরিবর্তে নির্গত নোডটি পুনরায় ব্যবহার করবে। ( I1dd86 )@ComposeCompilerApi
আর আর নেই@RequiresOptIn
( আইএবি 690 )
বাগ ফিক্স
- অলসকালাম/সারিটি ইতিমধ্যে 2 টি পূর্বে দৃশ্যমান আইটেমগুলি সক্রিয় (নিষ্পত্তি করা হয়নি) রাখবে এমনকি যখন তারা ইতিমধ্যে স্ক্রোল করা হয়েছে। এটি উপাদানটিকে সক্রিয় সাবকোপজিশনগুলি পুনরায় ব্যবহার করতে দেয় যখন আমাদের একটি নতুন আইটেম রচনা করতে হবে যা স্ক্রোলিং পারফরম্যান্সকে উন্নত করে। ( Ie5555 )
সংস্করণ 1.0.0-BETA06
5 মে, 2021
androidx.compose.runtime:runtime-*:1.0.0-beta06
প্রকাশিত হয়েছে। সংস্করণ 1.0.0-BETA06 এর মধ্যে এই কমিট রয়েছে।
এপিআই পরিবর্তন
-
@ComposeCompilerApi
আর আর নেই@RequiresOptIn
( আইএবি 690 )
সংস্করণ 1.0.0-BETA05
21 এপ্রিল, 2021
androidx.compose.runtime:runtime-*:1.0.0-beta05
প্রকাশিত হয়েছে। সংস্করণ 1.0.0-BETA05 এর মধ্যে এই কমিট রয়েছে।
এপিআই পরিবর্তন
- স্ন্যাপশট রেকর্ডিংয়ের জন্য
@InternalComposeApi
সরানো হয়েছে এবং লিখেছেন ( আইডি 134 ডি )
বাগ ফিক্স
- ইউআই-টেস্ট-ম্যানিফেস্ট এবং ইউআই-টুলিং-ডেটা থেকে অ্যান্ড্রয়েডম্যানিফেস্ট ফাইলগুলি এখন অ্যান্ড্রয়েড 12 এর সাথে সামঞ্জস্যপূর্ণ ( i6f9de , বি/184718994 )
সংস্করণ 1.0.0-BETA04
7 এপ্রিল, 2021
androidx.compose.runtime:runtime-*:1.0.0-beta04
প্রকাশিত হয়েছে। সংস্করণ 1.0.0-BETA04 এর মধ্যে এই কমিট রয়েছে।
বাগ ফিক্স
এই পরিবর্তনের আগে, স্থানীয় কমপোজেবল ফাংশনগুলি তাদের পরামিতিগুলির উপর ভিত্তি করে এড়িয়ে যায়। এই পরিবর্তনের পরে, কোনও স্থানীয় কমপোজেবল ফাংশন এড়িয়ে যাবে না। এই পরিবর্তনটি সম্পন্ন হয়েছে কারণ এটি সাধারণ এবং স্থানীয় ফাংশনগুলির জন্য পিতামাতার কাছ থেকে পরামিতিগুলি ক্যাপচার করার জন্য প্রত্যাশিত এবং এগুলি এড়িয়ে যাওয়া বাগের একটি সাধারণ উত্স।
সংক্ষিপ্তসার হিসাবে, উদাহরণ বিবেচনা করুন:
@Composable fun Counter(count: Int, onCountChange: (Int) -> Unit) { @Composable fun ShowCount() { Text("Count: $count") } ShowCount() Button(onClick={ onCountChange(count + 1) }) { Text("Increment") } }
এই পরিবর্তনের আগে,
count
প্যারামিটার আপডেট হওয়ার পরেওShowCount
কমপোজেবল ফাংশনটি সর্বদা এড়িয়ে যায়। এখন আর সেই অবস্থা নেই। ( I5648a )ইনপুট প্যারামগুলির সাথে ব্যবহৃত হলে ( আই 1 বি 1110 , বি/182403380 ) ব্যবহার করার সময় পুরানো মানটি পুনরুদ্ধার করার সময় সমস্যাটি
rememberSaveable()
করে
সংস্করণ 1.0.0-beta03
24 মার্চ, 2021
androidx.compose.runtime:runtime-*:1.0.0-beta03
প্রকাশিত হয়েছে। সংস্করণ 1.0.0-beta03 এই কমিট ধারণ করে।
এপিআই পরিবর্তন
-
DefaultMonotonicFrameClock
অবমূল্যায়ন করা হয়।withFrameNanos
বাRecomposer.runRecomposeAndApplyChanges
সহ কোনওMonotonicFrameClock
সহ কল করা এখনIllegalStateException
নিক্ষেপ করবে। ( I4eb0d )
সংস্করণ 1.0.0-BETA02
10 মার্চ, 2021
androidx.compose.runtime:runtime-*:1.0.0-beta02
প্রকাশিত হয়েছে। সংস্করণ 1.0.0-BETA02 এর মধ্যে এই কমিট রয়েছে।
বাগ ফিক্স
- পরীক্ষামূলক এপিআইগুলির জনসাধারণের ব্যবহারের উপর বিধিনিষেধ প্রয়োগ করুন ( আই 6 এএ 29 , বি/174531520 )
- ভাঙা
rememberSaveable { mutableStateOf(0) }
যখন নেভিগেশন-কম্পোজের কোনও গন্তব্যের অভ্যন্তরে ব্যবহৃত হয়। ( আই 1312 বি , বি/180042685 , বি/180701630 )
সংস্করণ 1.0.0-beta01
24 ফেব্রুয়ারি, 2021
androidx.compose.runtime:runtime-*:1.0.0-beta01
প্রকাশিত হয়েছে। সংস্করণ 1.0.0-BETA01 এর মধ্যে এই কমিট রয়েছে।
এটি রচনা 1.0.0 বিটার প্রথম প্রকাশ।
এপিআই পরিবর্তন
- মূল ফ্রেম লুপের বাইরে অবৈধ রচনাগুলি পুনরায় সংশোধন করার জন্য
Recomposer.runRecomposeConcurrentlyAndApplyChanges
পরীক্ষামূলক এপিআই যুক্ত করুন। ( I342d0 ) - @রিডনলি কমপোজেবলের সাথে চিহ্নিত যে কোনও কমপোজেবলগুলি এখন তারা কেবলমাত্র অন্য @রিডনলি কমপোজেবলগুলিতে কল করে তা নিশ্চিত করার জন্য সংকলন-সময় বৈধ করা হয়েছে ( i58961 )
compositionLocalOf
এবংstaticCompositionLocalOf
জন্যdefaultFactory
এখন al চ্ছিক পরিবর্তে প্রয়োজন।এই পরিবর্তনগুলি অ-অপ্রয়োজনীয় ধরণের জন্য একটি সম্ভাব্য ধরণের ত্রুটি সরিয়ে দেয় যেখানে কোনও ডিফল্ট কারখানা সরবরাহ করা হয়নি। পূর্বে এটি একটি অ-নাকাল ধরণের জন্য একটি নাল রেফারেন্স সরবরাহ করবে।
বাতিল ধরণের জন্য ডিফল্ট কারখানা হিসাবে
{ null }
সরবরাহ করার বিষয়টি বিবেচনা করুন।আমরা যখন কোনও বুদ্ধিমান ডিফল্ট সরবরাহ না করা যায় তবে আমরা অ-অপ্রয়োজনীয় প্রকারের সাথে স্থানীয়দের ব্যবহার করার পরামর্শ দিই না। যদি কোনও বুদ্ধিমান ডিফল্ট বিদ্যমান না থাকে তবে
defaultFactory
ল্যাম্বডাকে একটি ব্যতিক্রম ছুঁড়ে দেওয়া উচিত। তবে একটি ব্যতিক্রম ছুঁড়ে দেওয়ার অর্থ হ'ল স্থানীয় গ্রাহকদের এটির উপর একটি অন্তর্নিহিত নির্ভরতা থাকবে যা টাইপ সিস্টেম দ্বারা প্রয়োগ করা হয় না। ( আইএফবিডি 2 এ )কমপোজ রানটাইম ( আই 3252 সি ) থেকে অবমূল্যায়িত প্রতীকগুলি সরানো হয়েছিল
অবমূল্যায়িত
emptyContent()
সরানো হয়। পরিবর্তে{}
ব্যবহার করুন। ( আইডিবি 33 এফ , বি/179432510 )সরবরাহকারীদের নামকরণ করা হয়েছে কম্পোজিশনলোকালপ্রোভাইডারে
- কম্পোজিশন কনস্ট্রাক্টর আর কোনও মূল প্যারামিটার গ্রহণ করে না এবং এটি হ্রাস করা হয়েছে।
- কারেন্টকপোসাইটকিহাশকে একটি কমপোজেবল শীর্ষ স্তরের ফাংশনের পরিবর্তে একটি কমপোজেবল শীর্ষ স্তরের সম্পত্তিতে পরিণত করা হয়েছে।
- কম্পোজিশনডাটা এবং কম্পোজিশনগ্রুপটি অ্যান্ড্রয়েডএক্স.কম.পোস.রুনটাইম.টুলিং নেমস্পেসে সরানো হয়েছে
- কমপোসাবলামবদা একটি কংক্রিট শ্রেণীর পরিবর্তে একটি ইন্টারফেস তৈরি করা হয়েছে, এবং আর টাইপ প্যারামিটার নেই।
- কমপোসাবলেলাম্বদানকে একটি কংক্রিট শ্রেণীর পরিবর্তে একটি ইন্টারফেস করা হয়েছে এবং আর টাইপ প্যারামিটার নেই।
- স্ন্যাপশটফ্লো ফাংশনটি অ্যান্ড্রয়েডএক্স.কম.পোস.রানটাইম নেমস্পেসে সরানো হয়েছে
- স্ন্যাপশটমুটেশনপলিসির মার্জ পদ্ধতিটি আর পরীক্ষামূলক নয়
- @টেস্টনলি শীর্ষ স্তরের ক্লিয়াররুট ফাংশনটি সরানো হয়েছে। এর আর প্রয়োজন নেই।
- কীসোর্স ইনফুফ এবং রিসেটসোর্সআইএনএফও ফাংশনগুলি সরানো হয়েছে। তাদের আর প্রয়োজন নেই।
- সুরকার.কোলেক্টকিসোর্স ইনফর্মেশন সরানো হয়েছে। এর আর প্রয়োজন নেই।
- ইসজাইন্ডকি, জোয়েনডকিইলফ্ট এবং জোয়েনডিরাইট পদ্ধতিগুলি সরানো হয়েছে। তাদের আর প্রয়োজন নেই।
- বিভিন্ন শীর্ষ স্তরের এপিআইগুলি সরানো হয়েছে এবং বিভিন্ন ফাইলে পুনর্গঠিত হয়েছে। কোটলিনের ফাইল শ্রেণির শব্দার্থবিজ্ঞানের কারণে, এটি বাইনারি সামঞ্জস্যতা ভঙ্গ করবে তবে উত্সের সামঞ্জস্যতা নয়, তাই বেশিরভাগ ব্যবহারকারীর পক্ষে সমস্যা হওয়া উচিত নয়।
- ( I99b7d , খ/177245490 )
স্ন্যাপশটস্টেটোবসার্ভার আর পরীক্ষামূলক নয় ( আইডি 2 ই 6 এ )
কিছু পূর্বে অবমূল্যায়িত এপিআই মুছে ফেলা হয়েছে ( আইস 5 ডিএ , বি/178633932 )
নিম্নলিখিত উপাদানগুলি এপিআই পরিবর্তন করেছে:
- ডিফল্ট প্যাডিং কাস্টমাইজ করার অনুমতি দেওয়ার জন্য শীর্ষ/বটম অ্যাপবারে কন্টেন্টপ্যাডিং প্যারামিটার যুক্ত করা হয়েছে।
- Al চ্ছিক পরামিতিগুলির আগে প্রয়োজনীয় পরামিতিগুলির জন্য এপিআই নির্দেশিকাগুলি অনুসরণ করতে ব্যাকড্রপস্ক্যাফোল্ডে পুনরায় অর্ডার করা প্যারামিটারগুলি।
-
selected
এবংonClick
পরে বটনভিগেশন আইটেমেicon
প্যারামিটারটি সরানো হয়েছে। -
alwaysShowLabel
থেকেalwaysShowLabels
প্যারামিটারের নামকরণ করা হয়েছে। - কেবলমাত্র
content
কয়েকটি উপাদানগুলিতেbodyContent
প্যারামিটারগুলির নামকরণ করা হয়েছে। -
ButtonDefaults.buttonColors()
এ পুনরায় অর্ডার করা প্যারামিটারগুলি। দয়া করে মনে রাখবেন যে পরামিতিগুলির ধরণটি পরিবর্তন হয়নি, এটি আপনার কোডে কোনও ত্রুটি সৃষ্টি করবে না - দয়া করে নিশ্চিত করুন যে আপনি হয় নামযুক্ত পরামিতি ব্যবহার করছেন বা ম্যানুয়ালি অর্ডারটি আপডেট করছেন, অন্যথায় আপনার কোডটি আগের মতো কাজ করবে না। - গা dark ় কালারগুলিতে
secondaryVariant
প্যারামিটার যুক্ত করা হয়েছেdarkColors()
। এই রঙটি সাধারণত ডার্ক থিমেরsecondary
সমান, তবে ধারাবাহিকতা এবং আরও কাস্টমাইজেশনের জন্য যুক্ত করা। - পাবলিক এপিআই পৃষ্ঠ থেকে এলিভেশনডেফাল্টস এবং অ্যানিমেটেলিভেশন () সরানো হয়েছে যেহেতু এগুলি সাধারণত ব্যবহৃত / দরকারী ছিল না।
-
Slider
onValueChangeEnd
নামকরণ করা হয়েছেonValueChangeFinished
এবং এটিকে বাতিল করে দেওয়া। - ধারাবাহিকতার জন্য
content
Snackbar
text
প্যারামিটারটির নামকরণ করা হয়েছে। - ডিফল্ট প্যাডিং কাস্টমাইজ করার অনুমতি দেওয়ার জন্য
DropdownMenuItem
contentPadding
প্যারামিটার যুক্ত করা হয়েছে এবং তৈরি করাcontent
RowScope
একটি এক্সটেনশন হতে পারে। -
ModalDrawer
ModalDrawerLayout
নামকরণ করা হয়েছে। -
BottomDrawer
থেকেBottomDrawerLayout
নামকরণ করুন। - ( I1cc66 )
সংস্করণ 1.0.0-আলফা12
ফেব্রুয়ারী 10, 2021
androidx.compose.runtime:runtime-*:1.0.0-alpha12
প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha12-এ এই কমিট রয়েছে।
এপিআই পরিবর্তন
- ভিউগ্রুপগুলির জন্য সমর্থন ইউআইএপ্পিলিয়ার থেকে সরানো হয়েছিল। অবমূল্যায়িত এমিটভিউ কমপোজেবলগুলি সরানো হয়েছিল। ( আইএফবি 214 )
- কম্পোজিশন রিফারেন্সের নামকরণ করা হয়েছে কম্পোজিশন কনটেক্সট ( i53fcb )
- কম্পোনেন্টঅ্যাক্টিভিটি.সেট কনটেন্ট অ্যান্ড্রয়েডএক্স.অ্যাক্টিভিটি.কম.পোস.সেট কনটেন্টে অ্যান্ড্রয়েডএক্স.অ্যাক্টিভিটি: ক্রিয়াকলাপ-কম্পোজ মডিউলটিতে চলে গেছে। ( আইসিএফ 416 )
- স্ন্যাপশট এপিআই এপিআই গাইডলাইনের সাথে আরও সামঞ্জস্যপূর্ণ হওয়ার পাশাপাশি পাবলিক এপিআই থেকে অভ্যন্তরীণ বাস্তবায়ন ক্লাসগুলি লুকিয়ে রাখার জন্য আপডেট করা হয়েছিল। ( ID9E32 )
- অ্যাম্বিয়েন্ট -> কম্পোজিশনলোকাল নাম পরিবর্তন করার জন্য অ্যাম্বিয়েন্টগুলির নামকরণ করা হয়েছে। অ্যাম্বিয়েন্টদের নাম হিসাবে ব্যবহৃত হত অ্যাম্বিয়েন্টফু, এখন কম্পোজিশনলোকালগুলির নাম স্থানীয়ফু। ( I2d55d )
- যথাক্রমে কম্পোজিশনলোকাল, এবং অ্যাম্বিয়েন্টফ / স্ট্যাটিকাম্বিয়েন্টফের সাথে যথাক্রমে কম্পোজিশনলোকালফ / স্ট্যাটিক কমপোজিশনলোক্যালফের সাথে পরিবেষ্টিত নামকরণ করা হয়েছে। এই পরিবর্তনটি কম্পোজিশনলোকালের উদ্দেশ্যকে আরও পরিষ্কার করতে সহায়তা করে: স্থানীয় মানগুলি একটি রচনায় সরবরাহ / পুনরুদ্ধার করার জন্য একটি প্রক্রিয়া। কম্পোজিশনলোকাল দৃষ্টান্তগুলি
Local
সাথে উপসর্গ করা উচিত, যেমন ভাল লোকালফু = কম্পোজিশনলোক্যালফ {ফু ()}} ( আইএ 55 বি 6 ) - টেকমুটেবলসপশট এবং টেকনাপশট স্ন্যাপশটের সহযোগী পদ্ধতি হিসাবে সরানো হয়েছে। ( I91f19 )
@ComposableContract
আরও তিনটি নির্দিষ্ট টীকাগুলির পক্ষে অবমূল্যায়ন করা হয়েছে।@ComposableContract(restartable = false)
@NonRestartableComposable
কমপোজেবল হয়ে উঠেছে@ComposableContract(readonly = true)
@ReadOnlyComposable
@ComposableContract(preventCapture = true)
@DisallowComposableCalls
@ComposableContract(tracked = true)
হয়ে গেছে। ( I60a9d )খালি কনটেন্ট () এবং (@কমপোজেবল () -> ইউনিট)। ওরেম্পটি () ইউটিলিটিগুলি হ্রাস করা হয়েছে কারণ তাদের আর কোনও ইতিবাচক পারফরম্যান্স প্রভাব বা মান নেই ( i0484d )
snapshotFlow
এবংwithMutableSnapshot
আর পরীক্ষামূলক নয় ( i6a45f )Recomposers এখন বন্ধ করা যেতে পারে। বন্ধ রিসম্পোজাররা রচনা শিশু করুটাইনগুলি সম্পূর্ণ না হওয়া পর্যন্ত পুনরুদ্ধার চালিয়ে যাবে। Recomposer.shutdown এর সাথে ক্লোজের সাথে বিপরীতে বাতিল করতে নামকরণ করা হয়েছে। ( আইবি 6 ডি 76 )
compose:runtime-dispatch
শিল্পকর্মটি এখন হ্রাস করা হয়েছে। মনোটোনিকফ্রেমক্লক এখন রচনাটিতে পাওয়া যাবে: রানটাইম এবং অ্যান্ড্রয়েডুইডিস্প্যাচারটি রচনা: ইউআইতে পাওয়া যাবে। ( আইবি 5 সি 36 )এপিআই কমপোজ সংকলক প্লাগইন লক্ষ্যগুলি একটি কংক্রিট শ্রেণীর পরিবর্তে ইন্টারফেস ব্যবহার করতে রিফ্যাক্ট করা হয়েছে। ইন্টারফেসটি আর কোনও টাইপ প্যারামিটার ব্যবহার করে না।
এটি একটি অভ্যন্তরীণ পরিবর্তন যা উত্স কোডের সামঞ্জস্যকে প্রভাবিত করবে না তবে এটি বাইনারি ব্রেকিং পরিবর্তন। ( I3b922 , খ/169406779 )
স্ন্যাপশটমুটেবলস্টেট চালু করা হয়েছিল ( আইসিএফডি 03 )
ডিসপোসেবলফেক্টডিসপোজেবলের নামকরণ করা হয়েছিল ডিসপোসালিফেক্ট্রেসাল্ট ( আইসিএ 7 সি 6 )
Recomposer.current () সরানো হয়েছে। [বিমূর্তি] কমপোজভিউ এখন উইন্ডোটির জন্য ভিউট্রিলিফেসাইকেলওয়ের দ্বারা চালিত অলসভাবে তৈরি, উইন্ডো-স্কোপড রিকম্পোজারগুলির ডিফল্ট। হোস্ট লাইফসাইকেল বন্ধ থাকাকালীন পুনরুদ্ধার এবং সহ ফ্রেমেনানোস-ভিত্তিক অ্যানিমেশন টিক্স বিরতি দেওয়া হয়। ( I38e11 )
Recomposer.runningRecomposers এখন প্রক্রিয়াটিতে চলমান রচনা অবস্থা পর্যবেক্ষণের জন্য কেবল রিড-রিডপোজারিনফোর একটি বিশ্বব্যাপী স্টেটফ্লো সরবরাহ করে। এই এপিআইকে recomposer.current () এর কাছে পছন্দ করুন, যা এখন অবমূল্যায়িত। ( If8ebe )
ডিসপোজেবলফেক্টডিসপোজেবলের নামকরণ করা হয়েছিল ডিসপোসালিফেক্ট্রেসাল্টে ( আই 3 আই 68 )
সংস্করণ 1.0.0-আলফা 11
28 জানুয়ারী, 2021
androidx.compose.runtime:runtime-*:1.0.0-alpha11
প্রকাশিত হয়েছে। সংস্করণ 1.0.0-আলফা 11 এ এই কমিটগুলি রয়েছে।
এপিআই পরিবর্তন
- অনকমিট, অনডিস্পোজ এবং অনেক্টিভটি সাইডফ্যাক্ট এবং ডিসপোজেবলফেক্ট এপিআইগুলির পক্ষে ( if760e ) এর পক্ষে অবমূল্যায়ন করা হয়েছে
- EMIT () এপিআই এবং সমস্ত ওভারলোডগুলি হ্রাস করা হয়েছে এবং কমপেনোডে নামকরণ করা হয়েছে। এপিআইগুলি অভিন্ন, কমপোজের নামকরণ কনভেনশনগুলি অনুসরণ করার জন্য কেবল একটি আলাদা নাম ( আই 4137 বি )
- অবৈধ এবং রচনাচক্রের () এখন যথাক্রমে কারেন্টপ্রেসপোসেস্কোপ এবং স্মরণ কমপিউশন রিফেরেন্সের পক্ষে অবমূল্যায়ন করা হয়েছে। ( I583a8 )
রিডব্লারভারটি কম্পোজিশনলিফেসাইক্লাইওবসার্ভারকে প্রতিস্থাপন করে এবং কম্পোজিশনলিফেসাইক্লাইওবসার্ভার এখন অবমূল্যায়ন করা হয়।
RememberObserver
হ'ল সংশোধিত শব্দার্থবিজ্ঞান এবং নামকরণ পদ্ধতিগুলির সাথেCompositionLifecycleObserver
প্রতিস্থাপন। নতুন এপিআইতে পরিবর্তন করা এমন অবজেক্টগুলির জন্য যান্ত্রিকভাবে করা যেতে পারে যা কেবলমাত্র একবারে স্মরণ করা হয় যা সুপারিশ করা অনুশীলন। তবে, যদি কোনও রেফারেন্সটিonRemembered
একটি রচনায় একাধিকবার স্মরণ করা হয় তবে প্রতিটি রেফারেন্সের জন্য বলা হয় যেখানেonEnter
কেবল একবার বলা হয়।onEnter
একাধিকবার ডাকা হত যদি অবজেক্টটি সাবকোমপজিশনে যেমন ব্যবহার করা হত, যেমনWithConstraints
এবংScaffold
এককonEnter
কল গ্যারান্টিকে অবিশ্বাস্য করে তোলে এবং এটিRememberObserver
জন্য এটি সরানো হয়েছিল।RememberObserver
onAbandoned
যোগ করেছেন যা বলা হয় যদিremember
পাঠানোRememberObserver
থেকে ফিরে আসে তবে রচনা অবস্থায় স্মরণ করা হয় না এবং তাই, কখনওonRemembered
বলা হয় না। এটি ঘটতে পারে যদি কোনও ব্যতিক্রম সমাপ্তির আগে রচনাটি সমাপ্ত করে বা রচনাটি বাতিল করা হয় কারণ রাষ্ট্রটি একটি রচনা তৈরি করছে যার জন্য একটি রচনা তৈরি করা হয় বা অন্যথায় আর প্রয়োজন হয় না। উপরের একক রেফারেন্স সুপারিশ অনুসরণ করে যদিRememberObserver
উদাহরণটি একটি বাহ্যিক সংস্থান ট্র্যাকিং করে উভয়ইonForgotten
এবংonAbandoned
প্রতিটি নির্দেশ করে যে সংস্থানটির আর প্রয়োজন নেই। যদি অবজেক্টটি ট্র্যাকিংয়ের কাজ শুরু হয় বাonRemembered
বরাদ্দকৃত সংস্থানগুলি শুরু হয়,onAbandoned
উপেক্ষা করা যেতে পারে কারণ এটি যদিonRemembered
হয় তবে এটি ডাকা হবে না। ( I02c36 )ইনলাইন হিসাবে
collectAsState()
ফাংশনগুলি চিহ্নিত করবেন না ( ia73e4 )
বাগ ফিক্স
- উইথ কনস্ট্রাইন্টগুলি বক্স উইথকন্ট্রেন্ট হিসাবে পুনরায় কাজ করা হয়েছিল এবং ফাউন্ডেশনে সরানো হয়েছিল। লায়আউট। ( I9420 বি , বি/173387208 )
- পরীক্ষায় লিভারেজ টেস্টকোরআউটআইএনপিএসপ্যাচার ( i532b6 )
সংস্করণ 1.0.0-আলফা 10
13 জানুয়ারী, 2021
androidx.compose.runtime:runtime-*:1.0.0-alpha10
প্রকাশিত হয়েছে। সংস্করণ 1.0.0-আলফা 10 এ এই কমিটগুলি রয়েছে।
ব্রেকিং পরিবর্তন
অভ্যন্তরীণ সংকলক এপিআই এর পুনর্গঠন সমস্ত
@Composable
ফাংশনগুলি সম্পন্ন হওয়ার পরে, "পরিবর্তনগুলি প্রয়োগ করুন" পর্বে রচনাটির ফলস্বরূপ উত্পন্ন নোডগুলিতে ব্যাচিং পরিবর্তনগুলি অনুমতি দেয়।এটি একটি আচরণগত ব্রেকিং পরিবর্তন যা অ্যাপ্লিকেশন কোডকে প্রভাবিত করতে পারে কারণ পরিবর্তনগুলি প্রয়োগ না হওয়া পর্যন্ত নোডগুলি অভ্যন্তরীণ এবং পরীক্ষামূলক এপিআই থেকে আর পাওয়া যায় না। নোডগুলি তৈরি ও সূচনা না হওয়া পর্যন্ত কোডটির কার্যকরকরণ স্থগিত করার জন্য একটি
SideEffect
এই জাতীয় নির্ভরতা সহ এটি সাধারণত আশেপাশের কোড দ্বারা চারপাশে কাজ করা যেতে পারে। ( I018da )
এপিআই পরিবর্তন
- Recomposer পরিবর্তনগুলি প্রয়োগ করে কিনা তা ট্র্যাক করার একটি উপায় যুক্ত করেছে। ( I1b3e2 )
পুনর্ব্যবহারযোগ্য রচনা-ভিত্তিক ভিউগুলিকে মঞ্জুরি দেওয়ার জন্য [বিমূর্ত] কমপোজভিউ এপিআইগুলি প্রসারিত করুন, তাদের রচনাটি পরে আবার পুনরায় তৈরি করার জন্য তাদের রচনাটি নিষ্পত্তি করুন। শিশু রচনা তৈরির জন্য উইন্ডো-স্কোপড রিকম্পোজার এবং কম্পোজিশনরিফারেন্সগুলি ইনস্টল এবং আবিষ্কার করার জন্য এপিআই যুক্ত করুন।
[বিমূর্ত] কমপোজভিউগুলির রচনা নিষ্পত্তি কৌশলটি কনফিগার করার জন্য ভিউ কমপজিশনস্ট্রেজি যুক্ত করুন; ডিফল্ট আচরণ উইন্ডো বিচ্ছিন্নভাবে নিষ্পত্তি করা হয়। ( I860ab )
বাগ ফিক্স
- পুনরুদ্ধারকারী এখন তার বর্তমান অবস্থার একটি প্রবাহকে প্রকাশ করে, এর ক্রিয়াকলাপ এবং সম্পর্কিত প্রভাবগুলির ক্রিয়াকলাপকে পর্যবেক্ষণ করে। ( আইএফবি 2 বি 9 )
- নেটিভ কীভেন্টটি এখন কীভেন্টের মাধ্যমে অ্যাক্সেস করা যেতে পারে n
সংস্করণ 1.0.0-Alpha09
16 ডিসেম্বর, 2020
androidx.compose.runtime:runtime-*:1.0.0-alpha09
প্রকাশিত হয়েছে। সংস্করণ 1.0.0-ALPHA09 এ এই কমিটগুলি রয়েছে।
এপিআই পরিবর্তন
সরানো স্লটেবল, স্লোট্রেডার এবং স্লট রাইটার পাবলিক এপিআই থেকে। এগুলি আগে অভ্যন্তরীণ কমপোসিয়াপি হিসাবে চিহ্নিত ছিল। এখন তারা কমপোজ মডিউলটির অভ্যন্তরীণ।
কম্পোজিশনের তথ্য বের করতে ইউআই-টুলিং এপিআই ব্যবহার করার জন্য একটি প্রতিস্থাপন হিসাবে কম্পোজিশনডাটা এবং কম্পোজিশনগ্রুপ যুক্ত করা হয়েছিল। এগুলি সর্বজনীন তবে ইউআই-টুলিং এপিআইয়ের বাইরে ব্যবহারের উদ্দেশ্যে নয় কারণ তারা কাঁচা তথ্য সরবরাহ করে ইউআই-টুলিং এপিআই ব্যাখ্যা করে ( i31a9c )
অ্যাপলিয়ার ক্লাসটি আর একটি হিসাবে বিবেচিত হয় না ( আইডি 85 বি 0 )
Applier
ইন্টারফেসটি টপ-ডাউনের পরিবর্তে বিল্ডিং গাছগুলি নীচে-আপকে সহজ করার জন্য পরিবর্তিত হয়েছে।insert()
পদ্ধতিটিinsertTopDown()
এ নামকরণ করা হয়েছে।একটি নতুন পদ্ধতি,
insertBottomUp()
যুক্ত করা হয়েছিল।একজন অ্যাপলার হয় গাছের মধ্যে নোড সন্নিবেশ করায় এটি
insertTopDown()
ব্যবহার করে সম্পাদনা করছে বাinsertBottomUp()
হয়েছে যা আরও ভাল সম্পাদন করে তার উপর নির্ভর করে।কিছু গাছ, যেমন
LayoutNode
এবংView
, টপ-ডাউনের চেয়ে নীচে-আপ তৈরি করতে অনেক বেশি দক্ষ। এই পরিবর্তনের আগে, নীচের অংশগুলি প্রয়োগ করার জন্য সন্নিবেশগুলির একটি স্ট্যাকের প্রয়োজন ছিল যা প্রতিটি অ্যাপ্লায়ারের কাছে অনুলিপি করা দরকার যা পারফরম্যান্সের জন্য নীচের অংশে নির্মাণের প্রয়োজন। এই পরিবর্তনের সাথে একজনApplier
একটি গাছের নীচের অংশে তৈরি করতে সন্নিবেশinsertTopDown()
insertBottomUp()
ওভাররাইড করে এবং গাছটি শীর্ষ-ডাউন তৈরি করতে। ( আইসিবিডিসি 2 )রচনাটি এমন সম্পত্তি গেটারদের সমর্থন করে যা কমপোজেবল ইনভোকেট তৈরি করতে পারে। এর জন্য সমর্থন চলে যাচ্ছে না, তবে কোনও সম্পত্তি গেটারকে @কমপোজেবল হিসাবে ঘোষণা করার সিনট্যাক্সটি পরিবর্তন করছে।
এটি করার জন্য এখন-অবনমিত বাক্য গঠনটি সম্পত্তিটি নিজেই টীকা দিয়ে ছিল:
@Composable val someProperty: Int get() = ...
এটি করার জন্য এখন-সঠিক সিনট্যাক্সটি হ'ল সম্পত্তির গেটারকে টীকা দিয়ে:
val someProperty: Int @Composable get() = ...
উভয় সিনট্যাক্স কিছু সময়ের জন্য কাজ করবে, তবে প্রাক্তন অবমূল্যায়িত সিনট্যাক্সটি শেষ পর্যন্ত একটি সংকলন ত্রুটি হয়ে যাবে। ( ID9197 )
বাগ ফিক্স
- অ্যান্ড্রয়েড মালিক অভ্যন্তরীণ তৈরি করেছেন ( আইবিসিএডি 0 , বি/170296980 )
- সাবকম্পোসিন্টো (লেআউটনোড) অভ্যন্তরীণ করা হয়েছিল ( আইডি 724 এ )
সংস্করণ 1.0.0-Alpha08
2 ডিসেম্বর, 2020
androidx.compose.runtime:runtime-*:1.0.0-alpha08
প্রকাশিত হয়েছে। সংস্করণ 1.0.0-ALPHA08 এ এই কমিটগুলি রয়েছে।
এপিআই পরিবর্তন
- কমপোজ গাইডলাইনগুলির সাথে ধারাবাহিকতা যাচাই করতে কমপোজেবল ল্যাম্বদা প্যারামিটার নামকরণ এবং অবস্থানের জন্য লিন্ট চেক যুক্ত করা হয়েছে। লিন্ট চেক এবং গাইডেন্স অনুযায়ী
content
তাদের পিছনে থাকা ল্যাম্বডাটির নাম হিসাবেchildren
ব্যবহার করে কিছু এপিআই স্থানান্তরিত করেছে। ( আইইসি 48 ই ) - Recomposer আর কোনও এম্বেডিং কনটেক্সট গ্রহণ করে না; প্রয়োজনীয় সময়সূচী নির্ভরতাগুলি এফেক্টকোরআউটাইনকনটেক্সট থেকে প্রাপ্ত হয়। ফ্রেম ম্যানেজার হ্রাস করা হয়; প্ল্যাটফর্ম ইন্টিগ্রেশনগুলি তাদের নিজস্ব গ্লোবাল স্ন্যাপশট হ্যান্ডলিং শুরু করা উচিত। ( I02369 )
- Retorablestateholder.withrestorablestate ফাংশনটির নামকরণ করা হয়েছিল পুনরুদ্ধারকারী প্রোভাইডারে ( i66640 )
বাগ ফিক্স
-
Ambient
সাথে তাদের প্রত্যয় হিসাবে নামকরণ করা অ্যাম্বিয়েন্টগুলি অবমূল্যায়ন করা হয়েছে এবং অন্যান্য পরিবেষ্টিতকে অনুসরণ করে এবং এপিআই নির্দেশিকা রচনা করে এমন নতুন বৈশিষ্ট্যগুলির সাথে তাদের প্রতিস্থাপন করেছেন। ( I33440 ) - পুরানো ইউআই-টেস্ট মডিউল এবং এর স্টাবগুলি ( i3a7cb ) সরান
সংস্করণ 1.0.0-Alpha07
11 নভেম্বর, 2020
androidx.compose.runtime:runtime-*:1.0.0-alpha07
প্রকাশিত হয়েছে। সংস্করণ 1.0.0-ALPHA07 এর মধ্যে এই কমিটগুলি রয়েছে।
নতুন বৈশিষ্ট্য
এপিআই পরিবর্তন
-
@UnionType
টীকাটি হ্রাস করা হয়েছে ( i57cde ) - অ্যাম্বিয়েন্টস সরবরাহের জন্য সরবরাহের বিকল্প হিসাবে সরবরাহিত ডিফল্ট যুক্ত করা হয়েছিল এবং এটি পরিবেষ্টিত মানগুলি নির্দিষ্ট করতে ব্যবহার করা যেতে পারে যা কেবল তখনই সেট করা হবে যখন ইতিমধ্যে কোনও পরিবেষ্টিত মান নেই। ( ID6635 , খ/171024925 )
- সাইডফ্যাক্ট এবং ডিসপোজেবলফেক্ট এপিআইগুলির সাথে ধারাবাহিকতার জন্য লঞ্চডটাস্কের নামকরণ করা হয়েছিল। সর্বোত্তম অনুশীলনগুলিকে উত্সাহিত করার জন্য কোনও বিষয় প্যারাম ছাড়াই লঞ্চডেফেক্টের অনুমতি নেই। ( Ifd3d4 )
- অ্যাপলারের এখন অনবেগিনচেনজেস/অনেন্ডচ্যাঞ্জস কলব্যাক রয়েছে যা কোনও সুরকার শুরু হয়/গাছটিতে পরিবর্তনগুলি প্রয়োগ করা শেষ হয় যখন অনুরোধ করা হয়। এগুলি প্রয়োজনে ব্যাচিং রিসোর্স ম্যানেজমেন্টের জন্য ব্যবহৃত হতে পারে। ( আইসিএফ 476 )
- Recomposer এখন নির্মাণে একটি Coroutinecontext প্রয়োজন ( IC4610 )
- অভ্যন্তরীণ স্লটেবল বাস্তবায়নে পরিবর্তনগুলি যা জনসাধারণের এপিআইকে প্রভাবিত করে না। ( আইএফ 9828 )
- প্রাথমিক মান গ্রহণ করে না এমন RXJAVA2 অ্যাডাপ্টারগুলি অবমূল্যায়ন করা হয়েছে ( idb72f )
বাগ ফিক্স
- ফাউন্ডেশন.টেক্সট অবমূল্যায়ন করা হয়েছে এবং উপাদান.টেক্সট দিয়ে প্রতিস্থাপন করা হয়েছে। একটি বেসিক, আনোপিনিওনেটেড পাঠ্য এপিআইয়ের জন্য যা কোনও থিম থেকে মান গ্রহণ করে না, অ্যান্ড্রয়েডএক্স.কম.পোজ.ফাউন্ডেশন.ব্যাসিকটেক্সট দেখুন। ( If64cb )
- বেসটেক্সটফিল্ডকে হ্রাস করা হয়েছে। পরিবর্তে বেসিকটেক্সটফিল্ড ব্যবহার করুন। ( I896eb )
- বেশ কয়েকটি লেআউট সম্পর্কিত প্রতীকগুলি androidx.compose.ui থেকে androidx.compose.layout.ui এ সরানো হয়েছিল। ( I0fa98 , বি/170475424 )
বাহ্যিক অবদান
- রচনার জন্য
runtime-rxjava3
মডিউল যুক্ত করা হয়েছে।runtime-rxjava2
( আই 02 সিবিএফ ) এর মতো
সংস্করণ 1.0.0-Alpha06
অক্টোবর 28, 2020
androidx.compose.runtime:runtime-*:1.0.0-alpha06
প্রকাশিত হয়েছে। সংস্করণ 1.0.0-ALPHA06 এর মধ্যে এই কমিট রয়েছে।
এপিআই পরিবর্তন
- রিকম্পোজার এখন একটি রচনা -সম্মতি এবং একটি বৈধ রচনা পিতামাতা। সুস্পষ্ট পুনরুদ্ধারকারী এখন কম জায়গায় প্রয়োজন। ( I4036f )
- সাইডফ্যাক্টে ডিসপোজেবলফেক্টের কাউন্টার পার্ট এপিআই যুক্ত করা হয়েছে, পরম-সহ অনকমিটের ভূমিকা পূরণ করে তবে প্রয়োজনীয় অনডিস্পোজ সহ।
- পুনরুদ্ধারযোগ্যতা বা লঞ্চডটাস্কের মতো চলমান বা দীর্ঘকালীন প্রক্রিয়াগুলিতে পুনঃনির্মাণ থেকে ডেটা প্রকাশের জন্য স্মরণীয়আপডেডস্টেট এপিআই যুক্ত করা হয়েছে।
- ( আইডি 50 বি 9 )
- মিউটেবলভেক্টর এখন এলোমেলো অ্যাক্সেস ( আই 85 ডি 73 , বি/170461551 ) প্রয়োগ করে
- রচনা দ্বারা পরিচালিত অবজেক্টগুলিতে রচনার পার্শ্ব প্রতিক্রিয়া প্রয়োগের জন্য সাইডফ্যাক্ট কমপোজেবল যুক্ত করা হয়েছে। সাইডফ্যাক্টটি অনকমিট কমপোজেবলকে প্রতিস্থাপনের উদ্দেশ্যে করা হয়। ( Ia77c2 )
- নতুন পরীক্ষামূলক এপিআই রিস্টোরেবলস্টেটহোল্ডার। এটি পুনরুদ্ধার করা রাষ্ট্রের সাথে পরের বার এটি আবার রচনা করা সম্ভব করার জন্য এটি নিষ্পত্তি করার আগে সাবট্রিটির জন্য [savedinstancestate] এবং [স্মরণে রাখা স্টেস্টানস্টেস্টেট] দিয়ে সংজ্ঞায়িত রাষ্ট্রকে সংরক্ষণ করতে দেয়। ( I66884 , বি/166586419 )
বাগ ফিক্স
- কমপোজেটস্ট্রুলে ট্রানজিশন সক্ষম করুন; কমপোজেটস্ট্রুল থেকে ব্লিংকিং কার্সার সক্ষম করতে বিকল্প সরান। ( If0de3 )
সংস্করণ 1.0.0-Alpha05
অক্টোবর 14, 2020
androidx.compose.runtime:runtime-*:1.0.0-alpha05
প্রকাশিত হয়েছে। সংস্করণ 1.0.0-ALPHA05 এর মধ্যে এই কমিট রয়েছে।
এপিআই পরিবর্তন
- পরীক্ষামূলক মডিফায়ার ।
- প্রতিটি স্ক্রোলে সাবকোমপজিশনে কম কাজ করে অলসকালাম/সারির স্ক্রোলিং পারফরম্যান্স উন্নত করা হয়। The new hasInvalidations() method was added for Composition class. hasPendingChanges() method from Recomposer was renamed to hasInvalidations() ( Ib2f32 , b/168293643 , b/167972292 , b/165028371 )
- Add produceState API for launching coroutines from composition that update a single
State<T>
value over time ( Id4a57 ) - launchInComposition renamed to LaunchedTask to match Compose API guidelines ( I99a8e )
- The order of place() calls in custom Layouts now defines the drawing order for the children ( Ibc9f6 )
সংস্করণ 1.0.0-Alpha04
অক্টোবর 1, 2020
androidx.compose.runtime:runtime-*:1.0.0-alpha04
is released. সংস্করণ 1.0.0-ALPHA04 এ এই কমিটগুলি রয়েছে।
এপিআই পরিবর্তন
- Added OwnerScope to allow collection of layout and drawing observation scopes once they are no longer valid. ( Ic4cf8 )
- Added derivedStateOf API to create State objects based on a calculation which may read (and derive from) other State objects ( If758b )
- Added TestOnly API for SnapshotStateObserver ( I6e2a9 )
বাগ ফিক্স
- foundation.Box was deprecated. Please use foundation.layout.Box instead. ( Ie5950 , b/167680279 )
সংস্করণ 1.0.0-Alpha03
16 সেপ্টেম্বর, 2020
androidx.compose.runtime:runtime-*:1.0.0-alpha03
is released. সংস্করণ 1.0.0-ALPHA03 এ এই কমিটগুলি রয়েছে।
এপিআই পরিবর্তন
-
CompositionCoroutineScope
no longer implementsMonotonicFrameClock
. Callers ofwithFrameNanos
should import the top-level function explicitly. ( Icb642 , b/166778123 )
বাগ ফিক্স
- Global testing functions such as
onNode
orwaitForIdle
are now deprecated, please migrate to their new counterparts that are defined on ComposeTestRule ( I7f45a ) -
launchInComposition
no longer launches coroutines undispatched ( Ief6af , b/166486000 )
সংস্করণ 1.0.0-Alpha02
2শে সেপ্টেম্বর, 2020
androidx.compose.runtime:runtime-*:1.0.0-alpha02
is released. সংস্করণ 1.0.0-ALPHA02 এ এই কমিটগুলি রয়েছে।
এপিআই পরিবর্তন
- Add
snapshotFlow
andwithMutableSnapshot
APIs for consuming and producing Snapshot data changes. ( I3e722 ) The calling convention for composable functions has changed. This is a binary breaking change. All libraries must be recompiled to work with this version of the compose compiler plugin.
This change does not create a source level breaking change as the only APIs that have changed are compiler APIs that have an explicit opt in. ( I7afd2 , b/158123185 )
Removed scheduling methods from EmbeddingContext ( I7b9be )
onPreCommit is deprecated; onCommit now has onPreCommit's behavior.
onCommit and onActive now run in the same choreographer frame that the composition changes committed in rather than at the beginning of the next choreographer frame. ( I70403 )
সংস্করণ 1.0.0-alpha01
আগস্ট 26, 2020
androidx.compose.runtime:runtime-*:1.0.0-alpha01
is released. সংস্করণ 1.0.0-alpha01-এ এই কমিট রয়েছে।
Version 0.1.0-dev
Version 0.1.0-dev17
আগস্ট 19, 2020
androidx.compose.runtime:runtime-*:0.1.0-dev17
is released. Version 0.1.0-dev17 contains these commits.
এপিআই পরিবর্তন
- Custom emits can now declare that one or more of its setters can be skipped and recomposed independently of the emit. ( Ibbd13 )
Removed deprecated FrameManager calls.
Internal compose APIs have been changed to reduce the amount of overhead to track state objects such as
mutableStateof()
( I80ba6 )The
state { ... }
composable is now deprecated in favor of explicit calls toremember { mutableStateOf(...) }
for clarity. This reduces the overall API surface and number of concepts for state management, and matches theby mutableStateOf()
pattern for class property delegation. ( Ia5727 )Flow.collectAsState now determines the default dispatcher from the composition itself rather than defaulting to Dispatchers.Main. ( I9c1d9 )
Crash when something which saves the state was used inside the for loop is fixed. Now having the same key in savedInstanceState() is allowed, api of UiSavedStateRegistry is now adjusted to this new requirement ( I4ab76 , b/160042650 , b/156853976 , b/159026663 , b/154920561 )
বাগ ফিক্স
-
emitView
was deprecated. UseAndroidView
instead if possible for emitting Views inside Compose. Note that composing Views and ViewGroups directly will not be supported in the future unless these are leaves in the composition tree, case when this can be achieved using AndroidView. ( I29b1e , b/163871221 )
Version 0.1.0-dev16
আগস্ট 5, 2020
androidx.compose.runtime:runtime-*:0.1.0-dev16
is released. Version 0.1.0-dev16 contains these commits.
এপিআই পরিবর্তন
The default mutation policy of
mutableStateOf()
,ambientOf()
andsavedInstanceStateOf()
has changed to bestructuralEqualityPolicy()
instead ofreferentialEqualityPolicy()
.The default for deciding if a new value assigned to a
mutableStateOf()
instance is considered a change now defaults to using==
instead of using===
.See https://kotlinlang.org/docs/reference/equality.html
ambientOf()
andsavedInstanceStateOf()
usemutableStateOf()
in their implementations so they were changed to be consistent withmutableStateOf()
.Using structural equality more closely matches developer expectations.
যেমন,
val state = mutableStateOf(1f)
followed by,
state.value = 1f
will no longer be consider a change to
state
and uses ofstate
during composition will no longer need to be recomposed.This is a breaking change but, in most cases (such when using classes that do not override
equals()
), this will not have a noticeable effect on an application.Classes that do override
equals()
, such asdata
classes, might see a performance degradation as theirequals()
methods are now, by default, called when assigned to amutableStateOf()
.The previous behavior can be restored by adding the policy parameter
policy = referentialEqualityPolicy()
to calls tomutableStateOf()
,ambientOf()
andsavedInstanceStateOf()
. ( Ic21a7 )Row
andColumn
are now inline function significantly reducing the overhead of using them. ( I75c10 )
বাগ ফিক্স
- setViewContent was deprecated. setContent should be used instead. ( I7e497 , b/160335130 )
Added MonotonicFrameAnimationClock that enables you to use a MonotonicFrameClock as an AnimationClockObservable to bridge the gap between the new coroutines based clocks and APIs that still use the old callback based clocks.
The MonotonicFrameClock equivalent of ManualAnimationClock is now ManualFrameClock. ( I111c7 , b/161247083 )
Modifier.stateDraggable was completely reworked and renamed to Modifier.swipeable. A new SwipeableState class was introduced, and DrawerState and BottomDrawerState were refactored to inherit from it. [Modal/Bottom]DrawerLayout no longer take an onStateChange parameter. ( I72332 , b/148023068 )
Modifier.plus has been deprecated, use Modifier.then instead. 'Then' has a stronger signal of ordering, while also prohibits to type
Modifier.padding().background() + anotherModifier
, which breaks the chain and harder to read ( Iedd58 , b/161529964 )SubcomposeLayout is added. It is a low level primitive which allows to compose the children during the measuring if we want to use some values available only later during the measure for the subtree composition. For example WithConstraints is not implemented using SubcomposeLayout. ( I25cc8 )
Material FilledTextField was renamed to TextField and foundational TextField was renamed to BaseTextField to make simplest desired API easy to discover and use ( Ia6242 , b/155482676 )
Modifier.drawBackground has been renamed to Modifier.background ( I13677 )
Version 0.1.0-dev15
22 জুলাই, 2020
androidx.compose.runtime:runtime-*:0.1.0-dev15
is released. Version 0.1.0-dev15 contains these commits.
Dependencies Update
- To use the
0.1.0-dev15
version of Compose, you will need to update your dependencies according to the new code snippets shown above in Declaring dependencies .
এপিআই পরিবর্তন
@Model
annotation is now deprecated. Use state and mutableStateOf as alternatives. This deprecation decision was reached after much careful discussion.ন্যায্যতা
Rationale includes but is not limited to:
- Reduces API surface area and concepts we need to teach
- More closely aligns with other comparable toolkits (Swift UI, React, Flutter)
- Reversible decision. We can always bring
@Model
back later. - Removes corner-case usage and difficult to answer questions about configuring
@Model
as things we need to handle -
@Model
data classes, equals, hashcode, etc. - How do I have some properties “observed” and others not?
- How do I specify structural vs. referential equality to be used in observation?
- Reduces “magic” in the system. Would reduce the likelihood of someone assuming system was smarter than it is (ie, it knowing how to diff a list)
- Makes the granularity of observation more intuitive.
- Improves refactorability from variable -> property on class
- Potentially opens up possibilities to do hand-crafted State-specific optimizations
- More closely aligns with the rest of the ecosystem and reduces ambiguity towards immutable or us “embracing mutable state”
মাইগ্রেশন নোট
Almost all existing usages of
@Model
are fairly trivially transformed in one of two ways. The example below has a@Model
class with two properties just for the sake of example, and has it being used in a composable.@Model class Position( var x: Int, var y: Int ) @Composable fun Example() { var p = remember { Position(0, 0) } PositionChanger( position=p, onXChange={ p.x = it } onYChange={ p.y = it } ) }
Alternative 1: Use
State<OriginalClass>
and create copies.This approach is made easier with Kotlin's data classes. Essentially, make all previously
var
properties intoval
properties of a data class, and then usestate
instead ofremember
, and assign the state value to cloned copies of the original using the data classcopy(...)
convenience method.It's important to note that this approach only works when the only mutations to that class were done in the same scope that the
State
instance is created. If the class is internally mutating itself outside of the scope of usage, and you are relying on the observation of that, then the next approach is the one you will want to use.data class Position( val x: Int, val y: Int ) @Composable fun Example() { var p by state { Position(0, 0) } PositionChanger( position=p, onXChange={ p = p.copy(x=it) } onYChange={ p = p.copy(y=it) } ) }
Alternative 2: Use mutableStateOf and property delegates
This approach is made easier with Kotlin's property delegates and the
mutableStateOf
API which allows you to create MutableState instances outside of composition. Essentially, replace allvar
properties of the original class withvar
properties withmutableStateOf
as their property delegate. This has the advantage that the usage of the class will not change at all, only the internal implementation of it. The behavior is not completely identical to the original example though, as each property is now observed/subscribed to individually, so the recompositions you see after this refactor could be more narrow (a good thing).class Position(x: Int, y: Int) { var x by mutableStateOf(x) var y by mutableStateOf(y) } // source of Example is identical to original @Composable fun Example() { var p = remember { Position(0, 0) } PositionChanger( position=p, onXChange={ p.x = it } onYChange={ p.y = it } ) }
( I409e8 , b/152050010 , b/146362815 , b/146342522 , b/143413369 , b/135715219 , b/143263925 , b/139653744 )
Changes the code generation strategy of Compose's compiler. Prior to the change, the compose compiler would transform calls to composable functions. With this change, we now transform the body of a composable function and leave the callsite unaltered (mostly).
This means that most of the logic communicating with the compose runtime happens at the start of the function body, instead of at the callsite.
This should be a source-compatible change for all usage of compose. Most users of compose should not have to update any code as a result of this change.
In order to support this work, the JVM signature of all composable functions has changed. A Composable function accepting a single parameter is transformed into a function accepting 3 parameters, the additional parameters are the Composer, a 'key' integer. a bitmask integer used to propagate metadata through calls.
Compose now also transforms default arguments to a composable function. It does this without introducing an additional synthetic default overload of the function itself, so this change will result in fewer functions being defined.
Known intentional behavioral changes resulting from this:
- Some calls will skip where they wouldn't have previously
- Composable expressions in default argument expressions are now correctly subscribed to and handled
This work included some optimizations: 1. The result of comparisons of parameters are propagated through the call graph to other composable functions. This will result in fewer comparisons at runtime, reduces the slot table size, as well as more skipping of composable functions that were previously not skipped 2. Paremeters which are determined to be “static” at compile time are no longer compared or stored in the রানটাইম This reduces the number of comparisons and reduces slot table size. 3. Control flow structure of the body of functions is used to minimize the number of groups that are generated. This reduces slot table size and results in less work for the runtime 4. Unused dispatch and receiver parameters to functions are not included in determining skippability of the function if they are not used inside of the body of the function.
Most breaking changes were for APIs that the compiler targets directly, and typical use of compose will not be affected: 1. Composer::startExpr was removed 2. Composer::endExpr was removed 3. Composer::call was deprecated 4. The non-varargs overloads of
key
have been removed. Use thevararg
version going forward. 5. The Pivotal annotation was deprecated. Usekey
as a replacement. 6. ScopeUpdateScope::updateScope was changed to expect a Function3 instead of Function1 7. restartableFunction and restartableFunctionN were updated to include additional compile time parameters ( I60756 , b/143464846 )Added sortWith and removeRange to MutableVector ( Icccf7 )
Added default method implementations for CompositionLifecycleObserver ( I24289 )
Applier now requires a clear() method for disposing compositions ( Ibe697 )
Added asMutableList() to MutableVector to allow it to be passed to public API without having to copy the entire list. ( I298df )
Added rememberCoroutineScope() to obtain a managed CoroutineScope in composition for launching jobs in response to events. ( I0e264 )
MutableVector is a new collection that does not implement any of the standard Collection interface. This collection offers speed above other requirements and is intended to only be used in internal implementations. ( I8ebd6 )
Temporarily removed
StableMutableList
andStableMutableMap
to avoid an issue in the version of Kotlin compose requires. These interfaces will be reintroduced once compose is updated to a version of Kotlin that doesn't have the issue.SnapshotStateList
andSnapshotStateMap
are now public but they will be deprecated onceStableMutableList
andStableMutableMap
are restored. ( Ia7769 )add top-level withFrameNanos function for animation timing ( Ie34c5 )
@Untracked annotation has been deprecated. Replace with @ComposableContract(tracked=false) ( Id211e )
RestartableFunction and associated APIs have been renamed to ComposableLambda, etc. These APIs were targeted only by the compiler so this should not affect source level compatibility normally. The rename was done primarily to communicate what this class is better when it shows up in stack traces ( I7eb25 )
@Composable annotation is no longer valid on classes ( Ia5f02 )
Ambient<T>
is now @Stable instead of @Immutable ( I0b4bb )Prior to this change, the compose compiler plugin would non-trivially intercept calls to constructors inside of a @Composable function if there was an ( I5205a , b/158123804 )
The Recompose composable is no longer a useful abstraction. Most recomposition should happen as a result of MutableState assignments. For anything beyond that, it is recommended that you use the
invalidate
function to trigger a recomposition of the current scope. ( Ifc992 )Observe is no longer a useful abstraction. If you need to replicate it, its implementation can be replicated by just creating a composable function which executes a composable lambda parameter. For example,
@Composable fun Observe(body: @Composable () -> Unit) = body()
( I40d37 )@Direct was deprecated in favor of @ComposableContract(restartable=false) ( If4708 )
Added an adapter for the recently introduced StateFlow which allows as to pre-populate the initial value so the returned State is non-nullable ( I61dd8 , b/156233789 )
Added an adapter for Flow. Example of the usage: val value by flow.collectAsState() ( If2198 , b/153375923 )
[Mutable]State property delegate operators moved to extensions to support Kotlin 1.4 property delegate optimizations. Callers must add imports to continue using
by state { ... }
orby mutableStateOf(...)
. ( I5312c )androidx.compose.ViewComposer has been moved to androidx.ui.node.UiComposer androidx.compose.Emittable has been removed. It was redundant with ComponentNode. androidx.compose.ViewAdapters has been removed. They are no longer a supported use case. Compose.composeInto has been deprecated. Use
setContent
orsetViewContent
instead. Compose.disposeComposition has been deprecated. Use thedispose
method on theComposition
returned bysetContent
instead. androidx.compose.Compose.subcomposeInto has moved to androidx.ui.core.subcomposeInto ComponentNode#emitInsertAt has been renamed to ComponentNode#insertAt ComponentNode#emitRemoveAt has been renamed to ComponentNode#removeAt ComponentNode#emitMode has been renamed to ComponentNode#move ( Idef00 )Updated the
ComposeFlags.COMPOSER_PARAM
flag to betrue
, which will change the code generation strategy for the compose plugin. At a high level, this causes @Composable functions to be generated with an additional synthetic parameter, which is passed through to subsequent @Composable calls in order for the runtime to properly manage execution. This is a significant binary breaking change, however, should preserve source-level compatibility in all sanctioned usage of compose. ( I7971c )Breaking changes to the ambients API. See log and
Ambient<T>
documentation for details ( I4c7ee , b/143769776 )Added ui-livedata - new artifact with an adapter for LiveData. Example of the usage: val value by liveData.observeAsState() ( Ie9e8c , b/150465596 )
Rx adapters without explicit initial value are deprecated. Using null is not always the best default, for example when you have a List it is better to start with emptyList() or any other reasonable default ( I00025 , b/161348384 )
Added ui-rxjava2 - new artifact with adapters for RxJava2. Example of the usage: val value by observable.subscribeAsState() ( Ifab4b , b/153369097 )
savedInstanceState()
can now be used with nullable types ( I6847f , b/153532190 )New listSaver() and mapSaver() to make it easier to write custom Saver objects ( I8cf68 , b/152331508 )
New functions: savedInstanceState() and rememberSavedInstanceState(). They are similar to state() and remember() but have a saved instance state support build in ( If1987 , b/152025209 )
বাগ ফিক্স
-
runOnIdleCompose
renamed torunOnIdle
( I83607 ) - Made LayoutNode experimental API ( I4f2e9 )
- androidx.ui.foundation.TextFieldValue and androidx.ui.input.EditorValue is deprecated. TextField, FilledTextField and CoreTextField composables that uses that type is also deprecated. Please use androidx.ui.input.TextFieldValue instead ( I4066d , b/155211005 )
- Removed deprecated DrawBackground API in favor of drawBackground extension APIs on Modifier. Refactored color, brush and paint drawBackground implementations to reduce code paths as well as remove requirement for Modifier to be created as part of composition. ( I0343a )
- Updated higher level compose APIs that expose a Canvas to expose CanvasScope instead. This removes the need for consumers to maintain their own Paint objects. For consumers that still require access to a Canvas they can use the drawCanvas extension method which provides a callback to issue drawing commands with the underlying Canvas. ( I80afd )
- WithConstraints trailing lambda API has been changed. Now instead of two params it has a receiver scope which in addition to constraints and layoutDirection provides minWidth, maxWidth, minHeight and maxHeight properties in Dp ( I91b9a , b/149979702 )
- Added symmetric padding modifier. ( I39840 )
- Updated wrapContentWidth and wrapContentHeight to expect vertical or horizontal Alignment rather than any Alignment. The gravity modifier was updated to accept vertical or horizontal Alignment. Row, Column and Stack were updated to support custom continuous Alignments. ( Ib0728 )
- ui-text module is renamed as ui-text-core ( I57dec )
- Improve DrawModifier API:
- Made the receiver scope for draw() ContentDrawScope
- Removed all parameters on draw()
- DrawScope has same interface as former CanvasScope
- ContentDrawScope has drawContent() method ( Ibaced , b/152919067 )
- ColoredRect has been deprecated. Use
Box(Modifier.preferredSize(width, height).drawBackground(color))
instead. ( I499fa , b/152753731 ) - Replaced Modifier plus operator with factory extension functions ( I225e4 )
- RowScope and ColumnScope members are now accessible outside Row and Column. ( I3a641 )
- Renamed LayoutFlexible to LayoutWeight. Renamed tight parameter to fill. ( If4738 )
- WithConstraints got LayoutDirection parameter ( I6d6f7 )
- Renamed background to DrawBackground and make it to be memorized by default ( Ia0bd3 )
- Replaced ButtonStyle with distinct functions and removed text (string) overload. See updated samples for usage information. ( If63ab , b/146478620 , b/146482131 )
-
runOnIdleCompose
andrunOnUiThread
are now global functions instead of methods on ComposeTestRule. ( Icbe8f )
বাহ্যিক অবদান
- Remove unneeded API such as Looper and Handler from Compose Runtime porting layer ( I6847d )
- Deprecate
Flow<T>.collectAsState()
with no initial value. UseStateFlow<T>
or pass an explicit initial value instead. ( I63f98 , b/157674865 )