| جدیدترین بهروزرسانی | نسخه پایدار | نامزد انتشار | انتشار نسخه بتا | نسخه آلفا |
|---|---|---|---|---|
| ۱۲ اکتبر ۲۰۲۶ | ۲.۰.۴ | - | - | - |
بازخورد
بازخورد شما به بهبود Jetpack کمک میکند. اگر مشکلات جدیدی پیدا کردید یا ایدههایی برای بهبود این کتابخانه دارید، به ما اطلاع دهید. لطفاً قبلاز ایجاد مشکل جدید، مشکلات موجود در این کتابخانه را بررسی کنید. با کلیک کردن روی دکمه ستاره میتوانید رأی خود را به مشکل موجود اضافه کنید.
برای اطلاعات بیشتر، مستندات Issue Tracker را ببینید.
ردیابی
نسخه ۲.۰
نسخه ۲.۰.۴
۱۲ اکتبر ۲۰۲۶
androidx.tracing:tracing-*:2.0.4 منتشر شد. نسخه ۲.۰.۴ حاوی این ارسالها است.
رفع اشکالها
- شرایط مسابقهای هنگام پاک کردن بستههای ردیابی برطرف شد. (aosp/4344047)
نسخه ۲.۰.۳
۲۳ سپتامبر ۲۰۲۶
androidx.tracing:tracing-*:2.0.3 منتشر شد. نسخه ۲.۰.۳ حاوی این ارسالها است.
نسخه ۲.۰.۲
۹ سپتامبر ۲۰۲۶
androidx.tracing:tracing-*:2.0.2 منتشر شد. نسخه ۲.۰.۲ حاوی این ثبتها است.
نسخه ۲.۰.۱
۲۶ اوت ۲۰۲۶
androidx.tracing:tracing-*:2.0.1 منتشر شد. نسخه ۲.۰.۱ حاوی این ثبتها است.
نسخه ۲.۰.۰
۱۲ اوت ۲۰۲۶
androidx.tracing:tracing-*:2.0.0 منتشر شد. نسخه ۲.۰.۰ حاوی این ثبتها است.
ویژگیهای اصلی نسخه ۲.۰.۰:
میانای برنامهسازی کاربردی درونپردازشی جدید امکانات زیر را فراهم میکند:
- محتوای ردگیری را درحین پردازش در فیلد ضبط کنید
- جریانهای Perfetto (پیکانهایی از یک برش به برش دیگر)
- حاشیهنویسیهای Perfetto (فرادادههای برش کلید/مقدار)
traceCoroutine() {}- Coroutine Tracing API که تعویضهای رشته را ردیابی میکند- فیلتر کردن دسته
- سربار بسیار کمتر نسبت به میانای برنامهسازی کاربردی
android.os.Traceو پوشانندهtrace() {}موجود - ردیابی KMP - میتواند در کتابخانههای بدون وابستگی Android و در پروژههای JVM میزبان استفاده شود
- ادغام با ضبط ردیابی سیستم پساز وقوع (بهطور پیشفرض در AndroidX Benchmark 1.5 پیادهسازی شده است)
توجه داشته باشید که میاناهای برنامهسازی کاربردی ردیابی جدید در میانگیری که توسط فرایند کنترل میشود ضبط میکنند که هنوز توسط ضبط ردیابی سیستم «استودیو» ضبط نشده است. این مورد در «نمایهگرهای استودیو» در نسخهٔ پخش آتی رسیدگی خواهد شد.
میاناهای برنامهسازی کاربردی android.os.Trace / trace() {} موجود منسوخ نشدهاند. این «میاناهای برنامهسازی کاربردی» همچنان برای رویدادهای با فراوانی کم که همیشه باید در بافر ردیابی سیستم ضبط شوند توصیه میشوند، بهویژه در کتابخانهها.
نسخه 2.0.0-rc01
۲۹ ژوئیه ۲۰۲۶
androidx.tracing:tracing-*:2.0.0-rc01 منتشر شد. نسخه 2.0.0-rc01 حاوی این ارسالها است.
نسخه 2.0.0-beta01
۱۵ ژوئیه ۲۰۲۶
androidx.tracing:tracing-*:2.0.0-beta01 منتشر شد. نسخه 2.0.0-beta01 شامل این تعهدات است.
تغییرات میانای برنامهسازی کاربردی
-
PerfettoCaptureوPerfettoTraceRuleاکنون میتوانند ردپاهای درحال پردازش را ضبط کنند و آنها را برای بسته هدف ادغام کنند. (I9a00b، b/497959820) -
androidx.benchmarkاکنونminSdk۲۴ دارد. (Ic2a85)
رفع اشکالها
- درحال ردیابی نسخه 2.0-beta01. (I1b162)
- هنگام تولید اطلاعات قطعه، از شناسههای رشته مخصوص پلاتفرم استفاده کنید. (I6ba64)
نسخه 2.0.0-alpha09
۲۳ ژوئن ۲۰۲۶
androidx.tracing:tracing-*:2.0.0-alpha09 منتشر شد. نسخه 2.0.0-alpha09 شامل این تعهدها است.
تغییرات میانای برنامهسازی کاربردی
- تغییر جزئی در میانای برنامهسازی کاربردی در
Tracerبرای رفع ابهام بینinstant(...)وwriteInstant(...). (I0935a) - پشتیبانی از توکنهای انتشار در رویدادهای فوری اضافه شد. (I99f81)
- اجازه استفاده کامل از جریانهای Perfetto در میانای برنامهسازی کاربردی انتشار زمینه دستی آزمایشی. (I20cb6)
- ایجاد
BufferedSinkوProtoWriterدرTraceSinkرا بهتعویق بیندازید. (Ibd098) - اکتشاف
Tracerرا برای کتابخانههای Java و Android ساده و قابلاتصال کنید. (I99111) - برای توسعهدهندگان کتابخانه آسان کنید تا نمونهای از
TraceDriverرا که میتواند برای ردیابی درونفرایندی استفاده شود پیدا کنند. (Ia503e)
نسخه 2.0.0-alpha08
۱۹ مه ۲۰۲۶
androidx.tracing:tracing-*:2.0.0-alpha08 منتشر شد. نسخه 2.0.0-alpha08 شامل این تعهدات است.
تغییرات میانای برنامهسازی کاربردی
- قابلیت شناسایی و ملغی کردن نمونههای
TraceDriverرا اضافه کنید تا در کل فرایند استفاده شود. (I3f715) - نام
Tracer.recordExceptionبهTracer.recordExceptionAndThrowتغییر کند. (I4411f، b/503092450)
نسخه 2.0.0-alpha07
۶ مه ۲۰۲۶
androidx.tracing:tracing-*:2.0.0-alpha07 منتشر شد. نسخه 2.0.0-alpha07 شامل این تعهدات است.
تغییرات میانای برنامهسازی کاربردی
- یک API اضافه کنید تا ردیاب خردی بهدست آورید که بتوان از آن درصورت غیرفعال بودن ردیابی استفاده کرد. (I84c98)
- چرخه حیات ردیابی را با ردیابی سیستم سازگار کنید. (Ib391b)
- «میاناهای برنامهسازی کاربردی شمارنده» اکنون کاملاً بدون تخصیص هستند. (I5e73a)
رفع اشکالها
- قانون نگهداری برای «کیت توسعه نرمافزار Perfetto» (
tracing-perfetto) اصلاح شد که تضمین میکند «کیت توسعه نرمافزار Perfetto» بتواند فعال شود. (I1d227) - امکان ردیابی
flush()رویداد را اضافه کنید. (I38014، b/495852704)
نسخه 2.0.0-alpha06
۲۲ آوریل ۲۰۲۶
androidx.tracing:tracing-*:2.0.0-alpha06 منتشر شد. نسخه 2.0.0-alpha06 حاوی این ارسالها است.
تغییرات میانای برنامهسازی کاربردی
File.createPerfettoFile()را رفع محدودیت کنید تا دیگران بتوانند بهطور ایمن چاهک ایجاد کنند. وقتیblock()استثنایی درtrace/traceCoroutineایجاد میکند، رویدادinstantبرای استثنا با فرادادهای که عناصر ردیابی پشته مربوطه را نشان میدهد ایجاد کنید. (I682e5، b/501536851، b/437166283)- یک سربار
setCounter(...)اضافه کنید که نوعLongجاوا را میگیرد. (Ic0469، b/356082604) - Tracing 2.0 اکنون از
Longبرای شناسههایThreadمختص پلاتفرم استفاده میکند. (I67277)
رفع اشکالها
- مستندات
AttributeEntry.reset()را بهبود دهید. (I5d3a1، b/496079439)
نسخه 2.0.0-alpha05
۸ آوریل ۲۰۲۶
androidx.tracing:tracing-*:2.0.0-alpha05 منتشر شد. نسخه 2.0.0-alpha05 حاوی این ارسالها است.
تغییرات میانای برنامهسازی کاربردی
TraceSinkتوابع کارخانه اکنونTraceSinkرا برمیگردانند و نهAbstractTraceSink. اکنون فایلها پسوند یکتایی دارند. مطمئن میشویم که میتوانیم بهصورت اتمی فایل جدیدی ایجاد کنیم که برای ذخیره کردن بستههای ردیابی استفاده خواهد شد. (I4c4aa، b/496298726)- انتشار زمینه روتین همکار را سادهتر و سریعتر کنید. (Ia62db)
attributes()اختیاری را هنگام ساختنTraceDriverمعرفی کنید که روشی برای افزودن فراداده مربوط به ردگیری ارائه میدهد. (Ia147e)
رفع اشکالها
- رشتههای پردازش و مسیرهای شمارنده اکنون همگامسازی شدهاند. این کار استثناهای فرم را اصلاح میکند:
java.lang.NullPointerException: Cannot invoke "androidx.tracing.ThreadTrack.flush$tracing()" because "threadTrack" is null - وقتی ردیابی غیرفعال است، از انتشار رویدادهای مقصد خودداری کنید.
نسخه 2.0.0-alpha04
۲۵ مارس ۲۰۲۶
androidx.tracing:tracing-*:2.0.0-alpha04 منتشر شد. نسخه 2.0.0-alpha04 حاوی این ارسالها است.
تغییرات میانای برنامهسازی کاربردی
-
AbstractTraceDriverرا واقعاً انتزاعی کنید و پیادهسازیPerfettoرا به ماژولtracing-wireمنتقل کنید. (Ie2f59) - نامهای توصیفیتری به پیادهسازیهای پایه بدهید تا از استفاده از نام اشتباه جلوگیری شود. توسعهدهندگانی که قبلاً
androidx.tracing.Trace{Sink|Driver}را گسترش میدادند اکنون باید به استفاده ازAbstractTrace{Sink|Driver}تغییر دهند. (I9b46d)
نسخه 2.0.0-alpha03
۱۱ مارس ۲۰۲۶
androidx.tracing:tracing-*:2.0.0-alpha03 منتشر شد. نسخه 2.0.0-alpha03 شامل این تعهدها است.
تغییرات میانای برنامهسازی کاربردی
- پیادهسازی آزمایشی
InMemoryRingBufferTraceSinkاضافه شد که امکان تنظیم محدودیت ظرفیت را فراهم میکند و از نوشتن در دیسک خودداری میکند، مگر اینکه صراحتاً درخواست شود. (I1dc44، b/484409653، I65a37، b/484409653) - رفع شرایط رقابتی هنگام انتشار رویدادهای ردیابی برای تعلیق و ازسرگیری کوروتین. (Ie145e)
رفع اشکالها
-
androidx.tracingدیگر بهطور پیشفرض تلاش نمیکند تا در ردگیریها از روالهای همکار والد به فرزند اتصال برقرار کند. این موضوع گیجکننده بوده است، زیرا قالب ردیابی زیرین از اتصالات1:NوN:1پشتیبانی نمیکند، که منجر به مجموعهای از پیکانها بهدلیل ابهام درباره اینکه کدام برش از روتین همکار به کدام متصل میشود، میشود. وقتی برای مورد استفاده شما مهم است، همچنان میتوانید بااستفاده از APItokenForManualPropagation()بهصورت دستی با انتشار موافقت کنید. (Ib2cf9)
نسخه 2.0.0-alpha02
۲۵ فوریه ۲۰۲۶
androidx.tracing:tracing-*:2.0.0-alpha02 منتشر شد. نسخه 2.0.0-alpha02 حاوی این ارسالها است.
ویژگیهای جدید
- بهبود عملکرد برای پیادهسازی Perfetto Trace Sink بااستفاده از
suspendCoroutineUninterceptedOrReturnذاتی (2ea97b).
نسخه 2.0.0-alpha01
۲۸ ژانویه ۲۰۲۶
androidx.tracing:tracing-*:2.0.0-alpha01 منتشر شد. نسخه 2.0.0-alpha01 حاوی این ارسالها است.
ویژگیهای جدید
AndroidX Tracing 2.0 سطح میانای برنامهسازی کاربردی جدید و مهمی را برای ردیابی درونپردازشی با سربار کم معرفی میکند که مکمل میاناهای برنامهسازی کاربردی android.os.Tracing-محور موجود در Tracing 1.0 است. میاناهای برنامهسازی کاربردی جدید هم در Android و هم در JVM میزبان دردسترس هستند، که به ابزارهای میزبان امکان میدهد ردگیریهای سربار کم را برای تجزیهوتحلیل عملکرد، بااستفاده از همان قالب ردگیری استاندارد Perfetto، منتشر کنند.
ردگیریهای منتشرشده هم توسط Android Studio و هم Perfetto پشتیبانی میشوند و میتوانند با مجموعه ویژگیهای گسترشیافتهای ازجمله برچسبگذاری برشها با فراداده (مانند آرگومانهای تابع!) و انتشار ردگیری بافت کوروتین ضبط شوند.
این نسخه اولیه آلفا فقط برای گردشهای کار ردیابی درحال پردازش درنظر گرفته شده است و هنوز با ردیابی سیستمعامل Android یا «ردیابی سیستم Profiler» در Studio ادغام نشده است - این موارد در نسخه آلفای بعدی ارائه خواهند شد.
/**
* A [TraceSink] defines how traces are serialized.
*
* [androidx.tracing.wire.TraceSink] uses the `Perfetto` trace packet format.
*/
fun createSink(): TraceSink {
val outputDirectory = File(/* pathname = */ "/tmp/perfetto")
// We are using the factory function defined in androidx.tracing.wire
return TraceSink(
sequenceId = 1,
directory = outputDirectory
)
}
/**
* Creates a new instance of [androidx.tracing.TraceDriver].
*/
fun createTraceDriver(): TraceDriver {
// We are using a factory function from androidx.tracing.wire here.
// `isEnabled` controls whether tracing is enabled for the application.
val driver = TraceDriver(sink = createSink(), isEnabled = true)
return driver
}
fun main() {
val driver = createTraceDriver()
driver.use {
driver.tracer.trace(category = CATEGORY_MAIN, name = "basic") {
Thread.sleep(100L)
}
}
}
تغییرات میانای برنامهسازی کاربردی
Tracerرا به ویژگیTraceDriverتبدیل کنید. (Iabd9b)- پشتیبانی از انتشار دستی بافت اضافه شد. (I899ff)
- امکان افزودن اطلاعات پشته تماس در بخش ردیابی اضافه شود. (If6a1b)
- میاناهای برنامهسازی کاربردی جدید
androidx.tracingرا معرفی کنید. (I5102b) - اجازه دهید رویدادهای فوری حاوی فراداده باشند و شمارندهها را به لحظهها و شمارندهها اضافه کنید. (Ia2ed3)
- سطح میانای برنامهسازی کاربردی حاشیهنویسیشده با
@DelicateTracingApiرا کاهش دهید. هیچچیز در میانای برنامهسازی کاربردی سطح بالا نباید نیازمند استفاده از@DelicateTracingApiباشد. (I565e0) - انتشار بافت را با یکپارچه کردن
PropagationTokenها ساده کنید. (Iab839) - تثبیت کردن میاناهای برنامهسازی کاربردی
BlackHoleدرandroidx.benchmark. (I2b67e، b/451749438) - افزودن قابلیت حاشیهنویسی بخش ردیابی بهعنوان محدوده ریشه. (Ic8365)
- به توسعهدهنده اجازه میدهد درباره انتقال نشانها صریحاً توضیح دهد. (I06bb1)
- نام
MetadataHandleCloseableبهEventMetadataCloseableو نامMetadataHandleبهEventMetadataتغییر کرد. همچنین یک آرگومان اختیاریCoroutinePropagationTokenبهTracer.traceCoroutineاضافه شد تا توسعهدهنده بتواند بهطور صریح کد انتشار را برای استفاده مشخص کند. (I219f7، b/454147392) - نقطه ورود
Tracerجدیدی معرفی شده است که به توسعهدهندگان کنترل بسیار بیشتری بر نحوه ردیابی میدهد. (I24a7b) - افزودن توانایی کنترل نحوه انتشار بافت در
SliceTrack. (Ieb8fc) -
fillCountدرPooledTracePacketArrayاکنون بهدرستی بهعنوان فرار علامتگذاری شده است. (I75d2c) - علامتگذاری
MetadataEntry@DelicateTracingApi. (I8c723) - Add the ability for a
TraceSinkto be able to handle lost trace events (when the pool is exhausted). (I3b374) - افزودن توانایی انتشار مشروط رویدادهای ردیابی براساس گزاره. (I621b4)
- افزودن قابلیت اضافه کردن دستهها به رویداد ردیابی. (I449c2)
- علامتگذاری
TraceEvent،PooledTracePacketArrayبهعنوانDelicateTracingApi. (Iaac6d) -
ProcessTrack.id،ThreadTrack.id،ThreadTrack.name،CounterTrack.name، وCounterTrack.parentرا عمومی کنید. (I81210) - نام «میانای برنامهسازی کاربردی
SliceTrack.traceFlow()» به «traceCoroutine()» تغییر کرد. (I79ad0) - امکان افزودن اطلاعات زمینهای به برشها ازطریق گزارمانهای اشکالزدایی در ردیابی Perfetto اضافه شد. (Ic2b56)
- امکان ساختن نمونهای از
WireTraceSinkباFile/OutputStreamرا فراهم میکند. (Iecea0) - Removing obsolete
@RequiresApi(21)annotations (Ic4792)
نسخه ۱.۳
نسخه ۱.۳.۰
۲۳ آوریل ۲۰۲۵
androidx.tracing:tracing:1.3.0، androidx.tracing:tracing-android:1.3.0، و androidx.tracing:tracing-ktx:1.3.0 منتشر شدهاند. نسخه ۱.۳.۰ شامل این تعهدات است.
تغییرات مهم از نسخه ۱.۲.۰
-
androidx.tracing.Traceکلاس به Kotlin تبدیل شد و همه کدها از واحدtracing-ktxبهtracingمنتقل شد. - crossinline را از trace بردارید تا بتوانید از آن در
@Composableاستفاده کنید. (I53882، b/248344805)
نسخه 1.3.0-rc01
۹ آوریل ۲۰۲۵
androidx.tracing:tracing:1.3.0-rc01، androidx.tracing:tracing-android:1.3.0-rc01، و androidx.tracing:tracing-ktx:1.3.0-rc01 بدون هیچ تغییری نسبتبه آخرین نسخه بتا منتشر شدهاند. نسخه 1.3.0-rc01 حاوی این موارد ثبت است.
نسخه 1.3.0-beta01
۱۲ فوریه ۲۰۲۵
androidx.tracing:tracing:1.3.0-beta01، androidx.tracing:tracing-android:1.3.0-beta01، و androidx.tracing:tracing-ktx:1.3.0-beta01 منتشر شدهاند. نسخه 1.3.0-beta01 حاوی این ارسالها است.
تغییرات میانای برنامهسازی کاربردی
- همه کدها را از واحد
tracing-ktxبهtracingمنتقل کردیم. (Iba550) - کلاس
androidx.tracing.Traceبه Kotlin تبدیل شد. (Ie4e5d)
رفع اشکالها
- ازآنجاییکه هنگام استفاده از R8 با AGP نسخه ۷.۳ یا جدیدتر (برای نمونه، R8 نسخه ۳.۳) و برای همه ساختها هنگام استفاده از AGP نسخه ۸.۱ یا جدیدتر (برای نمونه، D8 نسخه ۸.۱)، نمای کلی دستی دسترسی به میاناهای برنامهسازی کاربردی پلاتفرم جدید بهطور خودکار ازطریق مدلسازی میانای برنامهسازی کاربردی انجام میشود، نمای کلی دستی دسترسی به میاناهای برنامهسازی کاربردی پلاتفرم جدید برداشته شد. به کارخواهانی که از AGP استفاده نمیکنند توصیه میشود به D8 نسخه ۸.۱ یا بالاتر بهروزرسانی کنند. برای جزئیات بیشتر، این مقاله را ببینید. (Ia60e0، b/345472586)
نسخه 1.3.0-alpha02
۲۱ ژوئن ۲۰۲۳
androidx.tracing:tracing:1.3.0-alpha02 و androidx.tracing:tracing-ktx:1.3.0-alpha02 بدون تغییر نسبتبه نسخه آلفای قبلی منتشر شدهاند. نسخه 1.3.0-alpha02 حاوی این commit-ها است.
نسخه 1.3.0-alpha01
۷ ژوئن ۲۰۲۳
androidx.tracing:tracing:1.3.0-alpha01 و androidx.tracing:tracing-ktx:1.3.0-alpha01 منتشر شدهاند. نسخه 1.3.0-alpha01 حاوی این تعهدات است.
تغییرات میانای برنامهسازی کاربردی
- crossinline را از trace بردارید تا بتوانید از آن در
@Composableاستفاده کنید. (I53882، b/248344805)
نسخه ۱.۲
نسخه ۱.۲.۰
۲۹ نوامبر ۲۰۲۳
androidx.tracing:tracing:1.2.0 و androidx.tracing:tracing-ktx:1.2.0 منتشر شدهاند. نسخه ۱.۲.۰ حاوی این ثبتها است.
تغییرات مهم از نسخه ۱.۱.۰
- افزودن انواع
trace()وtraceAsync()با رشته تنبل و محاسبه کوکی. همچنین اکنون اگرTrace.beginپرتاب کند، بهدرستی ازTrace.endرد میشود.
نسخه 1.2.0-rc01
۲۴ مه ۲۰۲۳
androidx.tracing:tracing:1.2.0-rc01 و androidx.tracing:tracing-ktx:1.2.0-rc01 منتشر شدهاند. نسخه 1.2.0-rc01 حاوی این تعهدات است.
رفع اشکالها
- جلوگیری از خرابی هنگام ارسال نامهای طولانی بخش ردیابی با کوتاه کردن خودکار (Iaf6e2)
نسخه 1.2.0-beta04
۳ مه ۲۰۲۳
androidx.tracing:tracing:1.2.0-beta04 و androidx.tracing:tracing-ktx:1.2.0-beta04 بدون تغییر منتشر میشوند. نسخه 1.2.0-beta04 شامل این ارسالها است.
نسخه 1.2.0-beta03
۵ آوریل ۲۰۲۳
androidx.tracing:tracing:1.2.0-beta03 و androidx.tracing:tracing-ktx:1.2.0-beta03 بدون تغییر جدیدی منتشر شدهاند. نسخه 1.2.0-beta03 شامل این commit-ها است.
نسخه 1.2.0-beta02
۲۲ مارس ۲۰۲۳
androidx.tracing:tracing:1.2.0-beta02 و androidx.tracing:tracing-ktx:1.2.0-beta02 بدون هیچ تغییری نسبتبه نسخه بتای قبلی منتشر شدهاند. نسخه 1.2.0-beta02 شامل این commit-ها است.
نسخه 1.2.0-beta01
۸ مارس ۲۰۲۳
androidx.tracing:tracing:1.2.0-beta01 و androidx.tracing:tracing-ktx:1.2.0-beta01 بدون تغییر نسبتبه آخرین نسخه آلفا منتشر شدهاند. نسخه 1.2.0-beta01 شامل این commit-ها است.
نسخه 1.2.0-alpha02
۲۳ فوریه ۲۰۲۳
androidx.tracing:tracing:1.2.0-alpha02 و androidx.tracing:tracing-ktx:1.2.0-alpha02 بدون تغییر نسبت به نسخه آلفای قبلی منتشر شدهاند. نسخه 1.2.0-alpha02 حاوی این commitها است.
رفع اشکالها
- این نسخه خطای
Could not find androidx.tracing:tracing-ktx:1.2.0-alpha02را هنگام ارتقا بهandroidx.tracing: tracing-perfetto-common:1.0.0-alpha11برطرف میکند
نسخه 1.2.0-alpha01
۵ اکتبر ۲۰۲۲
androidx.tracing:tracing:1.2.0-alpha01 و androidx.tracing:tracing-ktx:1.2.0-alpha01 منتشر شدند. نسخه 1.2.0-alpha01 شامل این تعهدات است.
ویژگیهای جدید
-
trace()وtraceAsync()گونه را با محاسبات رشته و کوکی تنبل اضافه کنید. همچنین اکنون اگرTrace.beginپرتاب کند، بهدرستی ازTrace.endرد میشود. (I31421، b/175233952، b/247066503)
نسخه ۱.۱
نسخه ۱.۱.۰
۱۱ مه ۲۰۲۲
androidx.tracing:tracing:1.1.0 و androidx.tracing:tracing-ktx:1.1.0 منتشر شدهاند. نسخه ۱.۱.۰ حاوی این ارسالها است.
تغییرات مهم از نسخه ۱.۰.۰
- یک API برای فعال کردن اجباری ضبط بخش ردیابی برنامه (یعنی APIهای android.os.Trace / androidx.tracing) در ساختهای غیرقابلاشکالزدایی اضافه شد
Trace.forceEnableAppTracing(). این را در ابتدای راهاندازی فراخوانی کنید تا ردیابی دقیق سیستم غیرقابل اشکالزدایی را قبلاز معرفی برچسب مانیفست قابلنمایهگذاری در API 29 فعال کنید. (I3a309) - Avoid class verification errors when Trace.java is loaded for the first time (05f6b4 and cb101f)
نسخه 1.1.0-rc01
۲۰ آوریل ۲۰۲۲
androidx.tracing:tracing:1.1.0-rc01 و androidx.tracing:tracing-ktx:1.1.0-rc01 منتشر شدهاند و از beta01 تغییری نکردهاند. نسخه 1.1.0-rc01 حاوی این تعهدات است.
نسخه 1.1.0-beta01
۱ دسامبر ۲۰۲۱
androidx.tracing:tracing:1.1.0-beta01 و androidx.tracing:tracing-ktx:1.1.0-beta01 منتشر شدند. نسخه 1.1.0-beta01 شامل این ارسالها است.
از 1.1.0-alpha02 تغییری نداشته است.
نسخه 1.1.0-alpha02
۱۷ نوامبر ۲۰۲۱
androidx.tracing:tracing:1.1.0-alpha02 و androidx.tracing:tracing-ktx:1.1.0-alpha02 منتشر شدند. نسخه 1.1.0-alpha02 شامل این تعهدها است.
ویژگیهای جدید
- Trace.forceEnableAppTracing() به میانای برنامهسازی کاربردی اضافه شد تا ضبط بخش ردیابی برنامه (یعنی میاناهای برنامهسازی کاربردی android.os.Trace / andoridx.tracing) را در نسخههای ساخت غیرقابلاشکالزدایی بهاجبار فعال کند. این را در ابتدای راهاندازی فراخوانی کنید تا ردیابی دقیق سیستم غیرقابلاشکالزدایی را قبلاز معرفی برچسب مانیفست قابلنمایهسازی در میانای برنامهسازی کاربردی ۲۹ فعال کنید. (I3a309)
نسخه 1.1.0-alpha01
۳ نوامبر ۲۰۲۱
androidx.tracing:tracing:1.1.0-alpha01 و androidx.tracing:tracing-ktx:1.1.0-alpha01 منتشر شدهاند. نسخه 1.1.0-alpha01 حاوی این commit-ها است.
رفع اشکالها
نسخه 1.0
نسخه ۱.۰.۰
۲۸ اکتبر ۲۰۲۰
androidx.tracing:tracing:1.0.0 و androidx.tracing:tracing-ktx:1.0.0 منتشر شدهاند. نسخه ۱.۰.۰ حاوی این ارسالها است.
ویژگیهای اصلی نسخه 1.0.0
به نوشتن رویدادهای ردیابی در میانگیر ردیابی سیستم کمک میکند. این کار را میتوان بااستفاده از ابزارهایی مثل Systrace و Perfetto تجسم کرد. این کتابخانه جایگزین کلاس منسوخشده androidx.core.os.TraceCompat میشود.
نسخه 1.0.0-rc01
۱۴ اکتبر ۲۰۲۰
androidx.tracing:tracing:1.0.0-rc01 و androidx.tracing:tracing-ktx:1.0.0-rc01 منتشر شدهاند. نسخه 1.0.0-rc01 حاوی این commit-ها است.
این نسخه پخش با 1.0.0-beta01 یکسان است.
نسخه 1.0.0-beta01
۲۴ ژوئن ۲۰۲۰
androidx.tracing:tracing:1.0.0-beta01 و androidx.tracing:tracing-ktx:1.0.0-beta01 بدون تغییر از 1.0.0-alpha01 منتشر شدهاند. نسخه 1.0.0-beta01 شامل این commit-ها است.
نسخه 1.0.0-alpha01
۱۰ ژوئن ۲۰۲۰ (۲۱ خرداد ۱۳۹۹)
androidx.tracing:tracing:1.0.0-alpha01 و androidx.tracing:tracing-ktx:1.0.0-alpha01 منتشر شدهاند. نسخه 1.0.0-alpha01 حاوی این commit-ها است.
ویژگیهای جدید
androidx.tracing کتابخانهای است که به نوشتن رویدادهای ردیابی در میانگیر ردیابی سیستم کمک میکند. این را میتوان بااستفاده از ابزارهایی مثل Systrace و Perfetto بهتصویر کشید. این کتابخانه جایگزین کلاس منسوخشده androidx.core.os.TraceCompat میشود. این نسخهٔ پخش اولیه 1.0.0-alpha01 است.
ردیابی Perfetto
نسخه 1.0
نسخه ۱.۰.۱
۱۹ نوامبر ۲۰۲۵
androidx.tracing:tracing-perfetto:1.0.1، androidx.tracing:tracing-perfetto-binary:1.0.1، و androidx.tracing:tracing-perfetto-handshake:1.0.1 منتشر شدهاند. نسخه ۱.۰.۱ شامل این تعهدات است.
رفع اشکالها
- پشتیبانی از اندازههای صفحه ۱۶ کیلوبایتی (b7a7dd)
- طرحبندی دستی دسترسی به میاناهای برنامهسازی کاربردی پلاتفرم جدید برداشته شد زیرا این کار بهطور خودکار ازطریق مدلسازی میانای برنامهسازی کاربردی هنگام استفاده از R8 با AGP نسخه ۷.۳ یا جدیدتر (مثلاً R8 نسخه ۳.۳) و برای همه ساختها هنگام استفاده از AGP نسخه ۸.۱ یا جدیدتر (مثلاً D8 نسخه ۸.۱) انجام میشود. به کارخواهانی که از AGP استفاده نمیکنند توصیه میشود به D8 نسخه ۸.۱ یا بالاتر بهروزرسانی کنند. برای جزئیات بیشتر، این مقاله را ببینید. (Ia60e0، b/345472586)
- از بستهبندی نسخههای
FastNative/CriticalNativeدر کتابخانه اجتناب کنید و از نسخههای پلاتفرم پایدار استفاده کنید. (I8238a، b/35664282، b/280878596)
نسخه ۱.۰.۰
۴ اکتبر ۲۰۲۳
androidx.tracing:tracing-perfetto:1.0.0، androidx.tracing:tracing-perfetto-binary:1.0.0، و androidx.tracing:tracing-perfetto-handshake:1.0.0 منتشر شدهاند. نسخه ۱.۰.۰ حاوی این ارسالها است.
ویژگیهای اصلی نسخه 1.0.0
- این اولین نسخه پخش پایدار کتابخانههای Tracing-perfetto است.
نسخه 1.0.0-rc01
۲۰ سپتامبر ۲۰۲۳
androidx.tracing:tracing-perfetto:1.0.0-rc01، androidx.tracing:tracing-perfetto-binary:1.0.0-rc01، و androidx.tracing:tracing-perfetto-handshake:1.0.0-rc01 بدون هیچ تغییری نسبتبه آخرین نسخه بتا منتشر شده است. نسخه 1.0.0-rc01 شامل این commit-ها است.
نسخه 1.0.0-beta03
۳۰ اوت ۲۰۲۳
androidx.tracing:tracing-perfetto:1.0.0-beta03، androidx.tracing:tracing-perfetto-binary:1.0.0-beta03، و androidx.tracing:tracing-perfetto-handshake:1.0.0-beta03 منتشر شدهاند. نسخه 1.0.0-beta03 شامل این commit-ها است.
- افزایش نسخه برای مطابقت با انتشار androidx.benchmark.
نسخه 1.0.0-beta02
۲۳ اوت ۲۰۲۳
androidx.tracing:tracing-perfetto:1.0.0-beta02، androidx.tracing:tracing-perfetto-binary:1.0.0-beta02، و androidx.tracing:tracing-perfetto-handshake:1.0.0-beta02 منتشر شدهاند. نسخه 1.0.0-beta02 شامل این تعهدات است.
ویژگیهای جدید
- پشتیبانی از ردیابی در راهاندازی برنامه (راهاندازی سرد) فعال شد.
نسخه 1.0.0-beta01
۱۸ ژوئیه ۲۰۲۳
androidx.tracing:tracing-perfetto:1.0.0-beta01، androidx.tracing:tracing-perfetto-binary:1.0.0-beta01، و androidx.tracing:tracing-perfetto-handshake:1.0.0-beta01 منتشر شدهاند. نسخه 1.0.0-beta01 شامل این تعهدات است.
تغییرات میانای برنامهسازی کاربردی
- نام
androidx.tracing.perfetto.Traceبهandroidx.tracing.perfetto.PerfettoSdkTraceتغییر کرد (I44af8) - Renamed "exit code" to "result code" constants in the protocol for consistency (Id1d1e)
- نام
EnableTracingResponseبهResponseتغییر کرد. (I56275) - گزینهای برای فعال کردن ردیابی شروع سرد در حالت ماندگار اضافه شد. تابعی برای پاک کردن ردیابی شروع سرد (پایدار یا ناپایدار) اضافه شد. (Iaa09d)
- میاناهای برنامهسازی کاربردی «کیت توسعه نرمافزار ردیابی Perfetto» با
android.os.Traceسازگار شد. (I73ba0، b/282199917) - به الگوی کارخانهای برای
LibrarySourceمنتقل شد تا درصورت نیاز، موارد استفاده آتی (برای نمونه، بار کردن مستقیم فایل.so) بهراحتی به «میانای برنامهسازی کاربردی» اضافه شود. (I128df) - درحال تطبیق
enableTracingColdStartپارامتر باenableTracingImmediate(I54126) -
killProcessمتغیر مستقل درenableTracingColdStartبرداشته شد (I81c4d)
نسخه 1.0.0-alpha17
۲۱ ژوئن ۲۰۲۳
androidx.tracing:tracing-perfetto:1.0.0-alpha17، androidx.tracing:tracing-perfetto-binary:1.0.0-alpha17، و androidx.tracing:tracing-perfetto-handshake:1.0.0-alpha17 بدون تغییر نسبتبه نسخه آلفای قبلی منتشر شدهاند. نسخه 1.0.0-alpha17 شامل این تعهدات است.
نسخه 1.0.0-alpha16
۷ ژوئن ۲۰۲۳
androidx.tracing:tracing-perfetto:1.0.0-alpha16، androidx.tracing:tracing-perfetto-binary:1.0.0-alpha16، و androidx.tracing:tracing-perfetto-common:1.0.0-alpha16 بدون تغییر نسبتبه نسخه آلفا قبلی منتشر شده است. نسخه 1.0.0-alpha16 شامل این تعهدات است.
نسخه 1.0.0-alpha15
۳ مه ۲۰۲۳
androidx.tracing:tracing-perfetto:1.0.0-alpha15، androidx.tracing:tracing-perfetto-binary:1.0.0-alpha15، و androidx.tracing:tracing-perfetto-common:1.0.0-alpha15 بدون تغییر منتشر شدند. نسخه 1.0.0-alpha15 شامل این commit-ها است.
نسخه 1.0.0-alpha14
۵ آوریل ۲۰۲۳
androidx.tracing:tracing-perfetto:1.0.0-alpha14، androidx.tracing:tracing-perfetto-binary:1.0.0-alpha14، و androidx.tracing:tracing-perfetto-common:1.0.0-alpha14 بدون تغییر جدیدی منتشر شدهاند. نسخه 1.0.0-alpha14 شامل این commit-ها است.
نسخه 1.0.0-alpha13
۲۲ مارس ۲۰۲۳
androidx.tracing:tracing-perfetto:1.0.0-alpha13، androidx.tracing:tracing-perfetto-binary:1.0.0-alpha13، و androidx.tracing:tracing-perfetto-common:1.0.0-alpha13 بدون هیچ تغییری نسبتبه آخرین انتشار، منتشر شدهاند. نسخه 1.0.0-alpha13 شامل این commit-ها است.
نسخه 1.0.0-alpha12
۸ مارس ۲۰۲۳
androidx.tracing:tracing-perfetto:1.0.0-alpha12، androidx.tracing:tracing-perfetto-binary:1.0.0-alpha12، و androidx.tracing:tracing-perfetto-common:1.0.0-alpha12 بدون تغییر نسبتبه نسخه آلفای قبلی منتشر شدهاند. نسخه 1.0.0-alpha12 شامل این تعهدات است.
نسخه 1.0.0-alpha11
۲۲ فوریه ۲۰۲۳ (۳ اسفند ۱۴۰۱)
androidx.tracing:tracing-perfetto:1.0.0-alpha11، androidx.tracing:tracing-perfetto-binary:1.0.0-alpha11، و androidx.tracing:tracing-perfetto-common:1.0.0-alpha11 بدون تغییر منتشر شدند. نسخه 1.0.0-alpha11 حاوی این commit-ها است.
نسخه 1.0.0-alpha10
۸ فوریه ۲۰۲۳
androidx.tracing:tracing-perfetto:1.0.0-alpha10، androidx.tracing:tracing-perfetto-binary:1.0.0-alpha10، و androidx.tracing:tracing-perfetto-common:1.0.0-alpha10 بدون تغییر منتشر شدند. نسخه 1.0.0-alpha10 حاوی این commit-ها است.
نسخه 1.0.0-alpha09
۱۰ فوریه ۲۰۲۳
androidx.tracing:tracing-perfetto-binary:1.0.0-alpha09 منتشر شد. نسخه 1.0.0-alpha09 شامل این تعهدات است.
ویژگیهای جدید
- انتشار نسخه جدید برای اینکه دیگر کتابخانههای
androidx.tracing:tracing-perfetto*: 1.0.0-alpha09بتوانند باهم کار کنند.
۱۱ ژانویه ۲۰۲۳
androidx.tracing:tracing-perfetto:1.0.0-alpha09 و androidx.tracing:tracing-perfetto-common:1.0.0-alpha09 بدون تغییر منتشر شدهاند. نسخه 1.0.0-alpha09 شامل این تعهدات است.
نسخه 1.0.0-alpha08
۷ دسامبر ۲۰۲۲
androidx.tracing:tracing-perfetto:1.0.0-alpha08، androidx.tracing:tracing-perfetto-binary:1.0.0-alpha08، و androidx.tracing:tracing-perfetto-common:1.0.0-alpha08 منتشر شدند. نسخه 1.0.0-alpha08 شامل این تعهدات است.
ویژگیهای جدید
- عملکرد با بهینهسازی نحوه مدیریت رشتهها بهبود یافته است.
رفع اشکالها
- قانون proguard اضافه شد که اگر از کلاس استفاده شود، از هرس شدن روشهای
PerfettoNativeجلوگیری میکند (از خرابی در موارد خاص هنگام مقداردهی اولیه ردیابی، اما عدم وجود تماسهای ردیابی در برنامه جلوگیری میکند).
نسخه 1.0.0-alpha07
۹ نوامبر ۲۰۲۲
androidx.tracing:tracing-perfetto:1.0.0-alpha07، androidx.tracing:tracing-perfetto-binary:1.0.0-alpha07، و androidx.tracing:tracing-perfetto-common:1.0.0-alpha07 منتشر شدهاند. نسخه 1.0.0-alpha07 شامل این commit-ها است.
- سربار JNI میاناهای برنامهسازی کاربردی
androidx.tracing:tracing-perfettoکاهش یافته است.
نسخه 1.0.0-alpha06
۲۴ اکتبر ۲۰۲۲
androidx.tracing:tracing-perfetto:1.0.0-alpha06، androidx.tracing:tracing-perfetto-binary:1.0.0-alpha06، و androidx.tracing:tracing-perfetto-common:1.0.0-alpha06 منتشر شدهاند. نسخه 1.0.0-alpha06 حاوی این commit-ها است.
- این بهروزرسانی هیچ تغییری ندارد و فقط شماره نسخه را بهروز میکند تا با androidx.benchmark همگامسازی شود.
نسخه 1.0.0-alpha05
۵ اکتبر ۲۰۲۲
androidx.tracing:tracing-perfetto:1.0.0-alpha05، androidx.tracing:tracing-perfetto-binary:1.0.0-alpha05، و androidx.tracing:tracing-perfetto-common:1.0.0-alpha05 منتشر شدهاند. نسخه 1.0.0-alpha05 شامل این commit-ها است.
نسخه 1.0.0-alpha04
۲۱ سپتامبر ۲۰۲۲
androidx.tracing:tracing-perfetto:1.0.0-alpha04، androidx.tracing:tracing-perfetto-binary:1.0.0-alpha04، و androidx.tracing:tracing-perfetto-common:1.0.0-alpha04 منتشر شدند. نسخه 1.0.0-alpha04 شامل این تعهدات است.
نسخه 1.0.0-alpha03
۷ سپتامبر ۲۰۲۲
androidx.tracing:tracing-perfetto:1.0.0-alpha03، androidx.tracing:tracing-perfetto-binary:1.0.0-alpha03، و androidx.tracing:tracing-perfetto-common:1.0.0-alpha03 منتشر شدهاند.
ویژگیهای جدید
- ویژگی جدیدی از نسخه 1.0.0-alpha02 وجود ندارد.
نسخه 1.0.0-alpha02
۲۴ اوت ۲۰۲۲
androidx.tracing:tracing-perfetto:1.0.0-alpha02، androidx.tracing:tracing-perfetto-binary:1.0.0-alpha02، و androidx.tracing:tracing-perfetto-common:1.0.0-alpha02 منتشر شدند. نسخه 1.0.0-alpha02 شامل این تعهدات است.
رفع اشکالها
- چندین بهبود در مقداردهی اولیه سرویس Perfetto
- مدیریت بهبودیافته برای موارد بدون پاسخ با معرفی کد خروج اختصاصی: RESULT_CODE_CANCELLED.
- مدیریت خطاهای تجزیه بهبود یافته است.
-
EnableTracingResponse.requiredVersionرا تهیپذیر کردیم، زیرا اگر نتوانیم با بسته ارتباط برقرار کنیم نمیتوانیم نسخه را بدانیم. (I5ba20)
نسخه 1.0.0-alpha01
۲۷ ژوئیه ۲۰۲۲
androidx.tracing:tracing-perfetto:1.0.0-alpha01، androidx.tracing:tracing-perfetto-binary:1.0.0-alpha01، و androidx.tracing:tracing-perfetto-common:1.0.0-alpha01 منتشر شدند. نسخه 1.0.0-alpha01 شامل این تعهدات است.
- توجه: همه کتابخانههای
androidx.tracing:tracing-perfetto*در ابتدا فقط برای استفاده داخلی در کتابخانههای AndroidX درنظر گرفته شدهاند. نباید نیازی به وابستگی مستقیم به آنها داشته باشید.
ویژگیهای جدید
همه کتابخانههای
androidx.tracing:tracing-perfetto*در ابتدا فقط برای استفاده داخلی در کتابخانههای AndroidX درنظر گرفته شدهاند و نباید نیازی به وابستگی مستقیم به آنها داشته باشید. برای شفافسازی، این جزئیات پیادهسازی را مستند میکنیم.
androidx.tracing:tracing-perfettoکتابخانهای است که به نوشتن رویدادهای ردیابی بااستفاده از Perfetto SDK با سربار کم کمک میکند. این را میتوان در Benchmark، Android Studio، یا میانای کاربری Perfetto استفاده کرد.
androidx.tracing:tracing-perfetto-binaryمجموعهای از وابستگیهای دودویی است که برای androidx.tracing:tracing-perfetto لازم است.
androidx.tracing:tracing-perfetto-commonیک وابستگی داخلی androidx.tracing:tracing-perfetto است و ابزارها میتوانند از آن برای ادغام با androidx.tracing:tracing-perfetto استفاده کنند.