প্রোফাইল ইনস্টলার

ART-এর দ্বারা পড়ার জন্য লাইব্রেরিগুলিকে সংকলন ট্রেসগুলি সময়ের আগে প্রিপুলেশন করতে সক্ষম করে৷
সর্বশেষ আপডেট স্থিতিশীল রিলিজ মুক্তির প্রার্থী বিটা রিলিজ আলফা রিলিজ
7 ফেব্রুয়ারি, 2024 1.3.1 - - 1.4.0-আলফা01

নির্ভরতা ঘোষণা করা

প্রোফাইলইনস্টলারের উপর নির্ভরতা যোগ করতে, আপনাকে অবশ্যই আপনার প্রকল্পে Google Maven সংগ্রহস্থল যোগ করতে হবে। আরও তথ্যের জন্য Google এর Maven সংগ্রহস্থল পড়ুন।

আপনার অ্যাপ বা মডিউলের জন্য build.gradle ফাইলে আপনার প্রয়োজনীয় আর্টিফ্যাক্টগুলির জন্য নির্ভরতা যোগ করুন:

গ্রোভি

dependencies {
    implementation "androidx.profileinstaller:profileinstaller:1.3.1"
}

কোটলিন

dependencies {
    implementation("androidx.profileinstaller:profileinstaller:1.3.1")
}

নির্ভরতা সম্পর্কে আরও তথ্যের জন্য, বিল্ড নির্ভরতা যুক্ত করুন দেখুন।

প্রতিক্রিয়া

আপনার প্রতিক্রিয়া জেটপ্যাককে আরও ভাল করতে সাহায্য করে। আপনি যদি নতুন সমস্যা আবিষ্কার করেন বা এই লাইব্রেরির উন্নতির জন্য ধারনা পান তাহলে আমাদের জানান। আপনি একটি নতুন তৈরি করার আগে অনুগ্রহ করে এই লাইব্রেরিতে বিদ্যমান সমস্যাগুলি দেখুন৷ আপনি তারকা বোতামে ক্লিক করে একটি বিদ্যমান সমস্যায় আপনার ভোট যোগ করতে পারেন।

একটি নতুন সমস্যা তৈরি করুন

আরও তথ্যের জন্য ইস্যু ট্র্যাকার ডকুমেন্টেশন দেখুন।

সংস্করণ 1.4

সংস্করণ 1.4.0-alpha01

7 ফেব্রুয়ারি, 2024

androidx.profileinstaller:profileinstaller:1.4.0-alpha01 প্রকাশিত হয়েছে। 1.4.0-alpha01 সংস্করণে এই কমিট রয়েছে।

বাগ ফিক্স

  • প্রোফাইল যাচাইকারীতে এমবেড করা কোনো প্রোফাইলের জন্য ত্রুটি কোড যোগ করা হয়েছে। ( ifb109 , b/313928520 )
  • Android U (API 34) এর পাশাপাশি এমুলেটরগুলিতে শেডার ড্রপ করার সময় ক্র্যাশের সমাধান করে। ( I031ca , b/274314544 )
  • প্রোফাইল ইনস্টলারে Android U-এর জন্য সক্ষম সমর্থন। ( আইএএফ১৭৭ )
  • প্রক্রিয়া শুরু হওয়ার সময় বর্তমান প্রোফাইল খালি তৈরি না হওয়ার কারণে অ্যান্ড্রয়েড ইউ-তে স্থির প্রোফাইল ইনস্টলার ব্যর্থ হচ্ছে। ( e3899 )
  • V_015S প্রোফাইল বিন্যাসে বিটম্যাপ ট্রান্সকোডিং পদ্ধতি ঠিক করুন। ( aosp/2906631 ) এবং ( aosp/2847740 )

সংস্করণ 1.3

সংস্করণ 1.3.1

3 মে, 2023

androidx.profileinstaller:profileinstaller:1.3.1 প্রকাশিত হয়েছে। সংস্করণ 1.3.1 এই কমিট ধারণ করে.

বাগ ফিক্স

  • প্রোফাইল ইনস্টলারে অ্যান্ড্রয়েড ইউ এর জন্য সক্ষম সমর্থন ( Iaf177 )
  • প্রক্রিয়া শুরু হওয়ার সময় বর্তমান প্রোফাইল খালি তৈরি না হওয়ার কারণে অ্যান্ড্রয়েড ইউ-তে স্থির প্রোফাইল ইনস্টলার ব্যর্থ হচ্ছে। ( e3899 )

সংস্করণ 1.3.0

22 মার্চ, 2023

androidx.profileinstaller:profileinstaller:1.3.0 প্রকাশিত হয়েছে। সংস্করণ 1.3.0 এই কমিট ধারণ করে.

1.2.0 থেকে গুরুত্বপূর্ণ পরিবর্তন

  • ProfileInstallReceiver এ একটি NullPointerException স্থির করা হয়েছে। ( b/243851384 )
  • একটি বেসলাইন প্রোফাইল সংকলিত, নির্ধারিত বা অনুপস্থিত কিনা তা অ্যাপের মধ্যে থেকে যাচাই করতে ProfileVerifier এপিআই যোগ করা হয়েছে ( I263a4 , b/246653809 )
  • একটি নতুন শেল সম্প্রচার যোগ করে যা ম্যাক্রোবেঞ্চমার্ককে সম্পূর্ণরূপে ইন-মেমরি প্রোফাইল ডেটা ডিস্কে ফ্লাশ করতে, বেসলাইন প্রোফাইল জেনারেশনে অন্তর্ভুক্ত করতে সক্ষম করে। BaselineProfileRule এর সাথে বেসলাইন প্রোফাইল ক্যাপচার করতে এবং CompilationMode.Partial(warmupIterations) ব্যবহার করে প্রোফাইল কর্মক্ষমতা মূল্যায়ন করতে ম্যাক্রোবেঞ্চমার্ক লাইব্রেরি ব্যবহার করতে হবে।
  • সংকুচিত বেসলাইন প্রোফাইল সনাক্ত করতে একটি ডায়গনিস্টিক কোড যোগ করা হয়েছে। সিপিইউ ওভারহেডের কারণে ম্যাক্রোবেঞ্চমার্কে বা প্রোডাকশনে প্রোফাইলইনস্টলার দ্বারা সংকুচিত বেসলাইন প্রোফাইল ইনস্টল করা যাবে না এবং স্টুডিও/এজিপি ইলেকট্রিক ইল বা bundletool সংস্করণ 1.13.1 ( I86413 , b/261998144 ) এ আপডেট করে আপনার অ্যাপ তৈরি করার সময় এড়িয়ে যাওয়া উচিত।
  • প্রোফাইল ক্যাপচার করতে এবং শেডার ক্যাশে ড্রপ করার জন্য ম্যাক্রোবেঞ্চমার্কের জন্য হুক যোগ করা হয়েছে, যা বেসলাইন প্রোফাইল তৈরি করতে বা আনরুট করা ডিভাইসে ম্যাক্রোবেঞ্চমার্ক করার জন্য প্রয়োজন ( Ie0a7d , b/250083467 , b/253094958 ) ( Ia5171 , b552424 )

সংস্করণ 1.3.0-rc01

8 মার্চ, 2023

androidx.profileinstaller:profileinstaller:1.3.0-rc01 শেষ বিটা থেকে কোনো পরিবর্তন ছাড়াই প্রকাশ করা হয়েছে। সংস্করণ 1.3.0-rc01-এ এই কমিট রয়েছে।

সংস্করণ 1.3.0-beta01

ফেব্রুয়ারী 8, 2023

androidx.profileinstaller:profileinstaller:1.3.0-beta01 প্রকাশিত হয়েছে। সংস্করণ 1.3.0-beta01-এ এই কমিট রয়েছে।

এপিআই পরিবর্তন

  • সংকুচিত প্রোফাইলগুলি পরিচালনার জন্য সমর্থন সরিয়ে দেয় - খোলার এবং ডিকম্প্রেস করার ফলে স্টার্টআপের সময় CPU ব্যবহারে 10s ms রিগ্রেশন হয়, তাই এর পরিবর্তে ভুলভাবে সংকুচিত বেসলাইন প্রোফাইলগুলি আবিষ্কার করার জন্য একটি ডায়াগনস্টিক যোগ করা হয়। ( I86413 , b/261998144 )

সংস্করণ 1.3.0-alpha03

11 জানুয়ারী, 2023

androidx.profileinstaller:profileinstaller:1.3.0-alpha03 প্রকাশিত হয়েছে। সংস্করণ 1.3.0-alpha03 এই কমিট ধারণ করে।

বাগ ফিক্স

  • সংকুচিত বা অসংকুচিত বেসলাইন প্রোফাইলগুলি পরিচালনা করতে সক্ষম করে ( Ic61a0 )
  • প্রোফাইলইনস্টলার ম্যানিফেস্টে ব্রডকাস্ট রেজিস্ট্রি ঠিক করে MacrobenchmarkScope.dropShaderCache() যাতে আর ক্র্যাশ না হয় ( I5c728 , b/258619948 )

সংস্করণ 1.3.0-alpha02

9 নভেম্বর, 2022

androidx.profileinstaller:profileinstaller:1.3.0-alpha02 প্রকাশিত হয়েছে। সংস্করণ 1.3.0-alpha02 এই কমিট ধারণ করে।

এপিআই পরিবর্তন

  • শেডার ক্যাশে ড্রপ করার জন্য বেঞ্চমার্কের জন্য একটি হুক যোগ করা হয়েছে, ঠান্ডা স্টার্টআপগুলির জন্য সামঞ্জস্যপূর্ণ কর্মক্ষমতা নিশ্চিত করার জন্য, বিশেষ করে যখন ওয়ার্মআপ পুনরাবৃত্তি থেকে প্রোফাইলের সাথে কম্পাইল করা হয়। benchmark-macro-junit4:1.2.0-alpha05 বা পরবর্তী ব্যবহার করে কোল্ড স্টার্টআপ পরিমাপ করার জন্য এই আপডেটটি প্রয়োজন। বেঞ্চমার্ক লাইব্রেরির API পরিবর্তনের জন্য, অনুগ্রহ করে বেঞ্চমার্ক 1.2.0-alpha07 পৃষ্ঠা দেখুন। ( IA5171 , b/231455742 )

সংস্করণ 1.3.0-alpha01

24 অক্টোবর, 2022

androidx.profileinstaller:profileinstaller:1.3.0-alpha01 প্রকাশিত হয়েছে। সংস্করণ 1.3.0-alpha01-এ এই কমিট রয়েছে।

এপিআই পরিবর্তন

  • একটি বেসলাইন প্রোফাইল সংকলিত, নির্ধারিত বা অনুপস্থিত কিনা তা অ্যাপের মধ্যে থেকে যাচাই করতে ProfileVerifier এপিআই যোগ করা হয়েছে ( I263a4 , b/246653809 )
  • একটি নতুন শেল সম্প্রচার যোগ করে যা ম্যাক্রোবেঞ্চমার্ককে সম্পূর্ণরূপে ইন-মেমরি প্রোফাইল ডেটা ডিস্কে ফ্লাশ করতে, বেসলাইন প্রোফাইল জেনারেশনে অন্তর্ভুক্ত করতে সক্ষম করে। BaselineProfileRule এর সাথে বেসলাইন প্রোফাইল ক্যাপচার করতে এবং CompilationMode.Partial(warmupIterations) ব্যবহার করে প্রোফাইল কর্মক্ষমতা মূল্যায়ন করতে ম্যাক্রোবেঞ্চমার্ক লাইব্রেরি ব্যবহার করতে হবে। ( Ie0a7d , b/250083467 , b/253094958 )

সংস্করণ 1.2.2

সংস্করণ 1.2.2

11 জানুয়ারী, 2023

androidx.profileinstaller:profileinstaller:1.2.2 প্রকাশিত হয়েছে। সংস্করণ 1.2.2-এ এই কমিট রয়েছে।

বাগ ফিক্স

  • সংকুচিত বা অসংকুচিত বেসলাইন প্রোফাইলগুলি পরিচালনা করতে সক্ষম করে ( Ic61a0 )

সংস্করণ 1.2.1

সংস্করণ 1.2.1

7 ডিসেম্বর, 2022

androidx.profileinstaller:profileinstaller:1.2.1 প্রকাশিত হয়েছে। সংস্করণ 1.2.1 এই কমিট ধারণ করে.

নতুন বৈশিষ্ট

  • S_V2 (API 32) এবং TIRAMISU (API 33) ( b/254900303 ) এর জন্য প্রোফাইল ইনস্টলার সক্ষম করুন৷

সংস্করণ 1.2.0

সংস্করণ 1.2.0

জুলাই 27, 2022

androidx.profileinstaller:profileinstaller:1.2.0 প্রকাশিত হয়েছে। সংস্করণ 1.2.0 এই কমিট ধারণ করে.

1.1.0 থেকে গুরুত্বপূর্ণ পরিবর্তন

  • Android 12 এ ব্যবহৃত ART প্রোফাইল বিন্যাসের জন্য সমর্থন যোগ করা হয়েছে এবং এগিয়ে যাচ্ছে।
  • বেসলাইন প্রোফাইল ব্যবহার করার সময় Macrobenchmarks সাথে আরও সামঞ্জস্যপূর্ণ ফলাফল পেতে ProfileInstallReceiver এ নতুন API যোগ করুন।

সংস্করণ 1.2.0-rc01

15 জুন, 2022

androidx.profileinstaller:profileinstaller:1.2.0-rc01 প্রকাশিত হয়েছে। সংস্করণ 1.2.0-rc01-এ এই কমিট রয়েছে।

  • এই সংস্করণটি androidx.profileinstaller:profileinstaller:1.2.0-beta03 এর অনুরূপ।

সংস্করণ 1.2.0-beta03

জুন 1, 2022

androidx.profileinstaller:profileinstaller:1.2.0-beta03 প্রকাশিত হয়েছে। সংস্করণ 1.2.0-beta03 এই কমিট ধারণ করে।

সংস্করণ 1.2.0-beta02

18 মে, 2022

androidx.profileinstaller:profileinstaller:1.2.0-beta02 প্রকাশিত হয়েছে। সংস্করণ 1.2.0-beta02-এ এই কমিট রয়েছে।

  • কোন পরিবর্তন নেই, কম্পোজ 1.2.0-beta02 সংস্করণ সমর্থন করার জন্য প্রয়োজন।

সংস্করণ 1.2.0-beta01

11 মে, 2022

androidx.profileinstaller:profileinstaller:1.2.0-beta01 প্রকাশিত হয়েছে। সংস্করণ 1.2.0-beta01-এ এই কমিট রয়েছে।

এপিআই পরিবর্তন

  • বেসলাইন প্রোফাইল ব্যবহার করার সময় Macrobenchmarks সাথে আরও সামঞ্জস্যপূর্ণ ফলাফল পেতে ProfileInstallReceiver এ নতুন API যোগ করুন। ( if2ae5 , b/215740637 )

বাগ ফিক্স

  • Android 12 এবং তার উপরে মেটাডেটা V_001 ফর্ম্যাট ব্যবহার করার চেষ্টা করার সময় প্রোফাইল ইনস্টলার একটি সহায়ক বার্তা দেয়৷ ( aosp/1978526 , b/217502387 )
  • প্রোফাইল ইনস্টলার এখন androidx.startup সংস্করণ 1.1.1 ব্যবহার করে। ( aosp/2077099 , b/229828376 )

সংস্করণ 1.2.0-alpha02

জানুয়ারী 26, 2022

androidx.profileinstaller:profileinstaller:1.2.0-alpha02 প্রকাশিত হয়েছে। সংস্করণ 1.2.0-alpha02 এই কমিট ধারণ করে।

এই সংস্করণটি 1.2.0-alpha01 এর অনুরূপ।

সংস্করণ 1.2.0-alpha01

জানুয়ারী 12, 2022

androidx.profileinstaller:profileinstaller:1.2.0-alpha01 প্রকাশিত হয়েছে। সংস্করণ 1.2.0-alpha01-এ এই কমিট রয়েছে।

নতুন বৈশিষ্ট

  • Android 12 এ ব্যবহৃত ART প্রোফাইল বিন্যাসের জন্য সমর্থন যোগ করুন এবং এগিয়ে যান।

সংস্করণ 1.1.0

সংস্করণ 1.1.0

ফেব্রুয়ারী 9, 2022

androidx.profileinstaller:profileinstaller:1.1.0 প্রকাশিত হয়েছে। সংস্করণ 1.1.0 এই কমিট ধারণ করে.

সংস্করণ 1.1.0-rc01

15 ডিসেম্বর, 2021

androidx.profileinstaller:profileinstaller:1.1.0-rc01 1.1.0-beta04 থেকে কোনো আপডেট ছাড়াই মুক্তি পেয়েছে। সংস্করণ 1.1.0-rc01-এ এই কমিট রয়েছে।

সংস্করণ 1.1.0-beta04

ডিসেম্বর 1, 2021

androidx.profileinstaller:profileinstaller:1.1.0-beta04 প্রকাশিত হয়েছে। সংস্করণ 1.1.0-beta04-এ এই কমিট রয়েছে।

সংস্করণ 1.1.0-beta03

17 নভেম্বর, 2021

androidx.profileinstaller:profileinstaller:1.1.0-beta03 প্রকাশিত হয়েছে। সংস্করণ 1.1.0-beta03-এ এই কমিট রয়েছে।

বাগ ফিক্স

  • কম্পোজ 1.1.0-beta03 সমর্থন করার জন্য আপডেট করা হয়েছে

সংস্করণ 1.1.0-beta02

3 নভেম্বর, 2021

androidx.profileinstaller:profileinstaller:1.1.0-beta02 প্রকাশিত হয়েছে। 1.1.0-beta02 সংস্করণে এই কমিট রয়েছে।

বাগ ফিক্স

  • কম্পোজ 1.1.0-beta02 সমর্থন করার জন্য আপডেট করা হয়েছে

সংস্করণ 1.1.0-beta01

27 অক্টোবর, 2021

androidx.profileinstaller:profileinstaller:1.1.0-beta01 প্রকাশিত হয়েছে। সংস্করণ 1.1.0-beta01-এ এই কমিট রয়েছে।

  • 1.1.0-alpha07 থেকে কোনো পরিবর্তন নেই।

সংস্করণ 1.1.0-alpha07

13 অক্টোবর, 2021

androidx.profileinstaller:profileinstaller:1.1.0-alpha07 প্রকাশিত হয়েছে। সংস্করণ 1.1.0-alpha07 এই কমিট ধারণ করে।

নতুন বৈশিষ্ট

  • Android N-এ profm-এর জন্য সমর্থন যোগ করা হয়েছে

সংস্করণ 1.1.0-alpha06

29 সেপ্টেম্বর, 2021

androidx.profileinstaller:profileinstaller:1.1.0-alpha06 প্রকাশিত হয়েছে। সংস্করণ 1.1.0-alpha06-এ এই কমিট রয়েছে।

বাগ ফিক্স

  • N, O, এবং O_MR1 এ প্রোফাইলইনস্টলার ট্রান্সকোডিং সমস্যা সমাধান করুন। ( I12d75 )

সংস্করণ 1.1.0-alpha05

15 সেপ্টেম্বর, 2021

androidx.profileinstaller:profileinstaller:1.1.0-alpha05 প্রকাশিত হয়েছে। সংস্করণ 1.1.0-alpha05 এই কমিট ধারণ করে।

বাগ ফিক্স

  • মাল্টিডেক্স apks-এর জন্য স্থায়ী Android Nougat এবং Android Oreo প্রোফাইল ট্রান্সকোডিং।

সংস্করণ 1.1.0-alpha04

1 সেপ্টেম্বর, 2021

androidx.profileinstaller:profileinstaller:1.1.0-alpha04 প্রকাশিত হয়েছে। সংস্করণ 1.1.0-alpha04 এই কমিট ধারণ করে।

বাগ ফিক্স

  • CompilationMode.BaselineProfile ব্যবহার করে MacroBenchmark চালানোর জন্য বেসলাইন প্রোফাইল ব্যবহার করা অ্যাপগুলিকে সহজ করতে ProfileInstaller ঠিক করুন। ( I42657 , b/196074999 )

সংস্করণ 1.1.0-alpha03

18 আগস্ট, 2021

androidx.profileinstaller:profileinstaller:1.1.0-alpha03 প্রকাশিত হয়েছে। সংস্করণ 1.1.0-alpha03 এই কমিট ধারণ করে।

বাগ ফিক্স

  • অ্যাপের ফাইল ডিরেক্টরির একটি ফাইলে PackageInfo.lastUpdatedTime লগ করতে প্রোফাইলইনস্টলার এড়িয়ে যাওয়ার আচরণ পরিবর্তন করুন এবং পরবর্তী রানে প্রোফাইল ইনস্টল করার আগে এটির তুলনা করুন। ( Ib93d1 )
  • ART প্রয়োজনীয়তা ( I84e89 ) মেনে চলতে P, Q, R ডিভাইসে প্রোফাইল বিন্যাস সামঞ্জস্য করুন

সংস্করণ 1.1.0-alpha02

4 আগস্ট, 2021

androidx.profileinstaller:profileinstaller:1.1.0-alpha02 প্রকাশিত হয়েছে। সংস্করণ 1.1.0-alpha02 এই কমিট ধারণ করে।

কম্পোজ 1.1.0-alpha01 এর সাথে সামঞ্জস্যপূর্ণ হওয়ার জন্য আপডেট করা হয়েছে।

সংস্করণ 1.1.0-alpha01

জুলাই 21, 2021

androidx.profileinstaller:profileinstaller:1.1.0-alpha01 প্রকাশিত হয়েছে। সংস্করণ 1.1.0-alpha01-এ এই কমিট রয়েছে।

বাগ ফিক্স

  • বাগ সংশোধন করা হয়েছে যা কিছু পরিস্থিতিতে কঠোর মোড ট্রিগার করবে।

সংস্করণ 1.0

সংস্করণ 1.0.4

13 অক্টোবর, 2021

androidx.profileinstaller:profileinstaller:1.0.4 প্রকাশিত হয়েছে। সংস্করণ 1.0.4 এই কমিট ধারণ করে.

  • কম্পোজ 1.0.4 সমর্থন করার জন্য আপডেট করা হয়েছে

সংস্করণ 1.0.3

29 সেপ্টেম্বর, 2021

androidx.profileinstaller:profileinstaller:1.0.3 প্রকাশিত হয়েছে। সংস্করণ 1.0.3 এই কমিট ধারণ করে.

  • কম্পোজ 1.0.3 সমর্থন করার জন্য আপডেট করা হয়েছে

সংস্করণ 1.0.2

1 সেপ্টেম্বর, 2021

androidx.profileinstaller:profileinstaller:1.0.2 প্রকাশিত হয়েছে। সংস্করণ 1.0.2 এই কমিট ধারণ করে.

বাগ ফিক্স

  • P, Q, R ডিভাইসের জন্য প্রোফাইল ট্রান্সকোডিং যোগ করা হয়েছে। এই পরিবর্তনের অর্থ হল এই ডিভাইসগুলি প্রোফাইলটিকে ট্রান্সকোড করবে, নিশ্চিত করে যে লিখিত প্রোফাইলটি সর্বদা ART দ্বারা ব্যবহারযোগ্য। পূর্বে এই প্ল্যাটফর্মগুলিতে ট্রান্সকোডিং বাদ দেওয়া হত, যা কখনও কখনও ART-কে উত্স প্রোফাইল প্রক্রিয়া করতে অক্ষম হতে দেয়। ডেভেলপার API তে কোন পরিবর্তন নেই।

সংস্করণ 1.0.1

4 আগস্ট, 2021

androidx.profileinstaller:profileinstaller:1.0.1 প্রকাশিত হয়েছে। সংস্করণ 1.0.1 এই কমিট ধারণ করে.

কম্পোজ 1.0.1 এর সাথে সামঞ্জস্যপূর্ণ হওয়ার জন্য আপডেট করা হয়েছে।

সংস্করণ 1.0.0

28 জুলাই, 2021

androidx.profileinstaller:profileinstaller:1.0.0 প্রকাশিত হয়েছে। সংস্করণ 1.0.0 এই কমিট ধারণ করে.

1.0.0 এর প্রধান বৈশিষ্ট্য

প্রোফাইল ইনস্টলার হল একটি নতুন লাইব্রেরি যা লাইব্রেরি এবং অ্যাপ্লিকেশনগুলিকে "প্রোফাইল নিয়ম" সংজ্ঞায়িত করতে এবং একটি APK সহ ART প্রোফাইল তথ্য বান্ডেল করতে দেয় এবং এই লাইব্রেরিটি অ্যাপ্লিকেশন লঞ্চের পরে সেই প্রোফাইলগুলি ইনস্টল করবে৷ এটি অ্যাপ্লিকেশন কর্মক্ষমতা উন্নত করতে ব্যবহার করা যেতে পারে.

এই প্রোফাইল নিয়মগুলি কী এবং কীভাবে কাজ করে সে সম্পর্কে আরও তথ্যের জন্য অনুগ্রহ করে 1.0.0-beta01- এ বিস্তারিত রিলিজ নোটগুলি দেখুন৷

সংস্করণ 1.0.0-rc02

14 জুলাই, 2021

androidx.profileinstaller:profileinstaller:1.0.0-rc02 প্রকাশিত হয়েছে। সংস্করণ 1.0.0-rc02 এই কমিট ধারণ করে।

সংস্করণ 1.0.0-rc01

জুলাই 1, 2021

androidx.profileinstaller:profileinstaller:1.0.0-rc01 প্রকাশিত হয়েছে। সংস্করণ 1.0.0-rc01 এই কমিট ধারণ করে।

এটি বিটা থেকে কোনো পরিবর্তন ছাড়াই একটি RC রিলিজ।

সংস্করণ 1.0.0-beta01

16 জুন, 2021

androidx.profileinstaller:profileinstaller:1.0.0-beta01 প্রকাশিত হয়েছে। সংস্করণ 1.0.0-beta01-এ এই কমিট রয়েছে।

লাইব্রেরির উদ্দেশ্য

প্রোফাইল ইনস্টলার হল একটি নতুন লাইব্রেরি যা লাইব্রেরি এবং অ্যাপ্লিকেশনগুলিকে "প্রোফাইল নিয়ম" সংজ্ঞায়িত করতে এবং একটি APK সহ ART প্রোফাইল তথ্য বান্ডেল করতে দেয় এবং এই লাইব্রেরিটি অ্যাপ্লিকেশন লঞ্চের পরে সেই প্রোফাইলগুলি ইনস্টল করবে৷ এটি অ্যাপ্লিকেশন কর্মক্ষমতা উন্নত করতে ব্যবহার করা যেতে পারে.

এই প্রোফাইল ইন্সটলেশনটি androidx.startup লাইব্রেরি দিয়ে করা হয়। যদি কোনো কারণে কেউ প্রোফাইল ইনস্টলেশন অক্ষম করতে চান, তবে তারা এটি অপসারণের জন্য ম্যানিফেস্টটি সংশোধন করতে পারে:


       <provider
           android:name="androidx.startup.InitializationProvider"
           android:authorities="${applicationId}.androidx-startup"
           android:exported="false"
           tools:node="merge">
           <meta-data android:name="androidx.profileinstaller.ProfileInstallerInitializer"
                     tools:node="remove" />
       </provider>

এটি বিশেষভাবে উপযোগী যদি আপনার অ্যাপের অ-তুচ্ছ স্টার্টআপ প্রয়োজনীয়তা থাকে এবং আপনি ProfileInstaller.writeProfile API ব্যবহার করে ম্যানুয়ালি প্রোফাইল ইনস্টলেশন ট্রিগার করতে চান।

প্রোফাইল নিয়ম কি?

  • একটি লাইব্রেরির প্রোফাইলের নিয়মগুলি src/main বা সমতুল্য ডিরেক্টরিতে অবস্থিত একটি টেক্সট ফাইল baseline-prof.txt এ নির্দিষ্ট করা আছে। ফাইলটি প্রতি লাইনে একটি নিয়ম নির্দিষ্ট করে, যেখানে এই ক্ষেত্রে একটি নিয়ম হল লাইব্রেরির মেথড বা ক্লাসের সাথে মেলানোর জন্য একটি প্যাটার্ন। এই নিয়মগুলির জন্য সিনট্যাক্স হল মানব-পঠনযোগ্য ART প্রোফাইল বিন্যাসের একটি সুপারসেট যা 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 আছে এমন একটি পদ্ধতি নির্দেশ করে যে এটি একটি পদ্ধতি যা স্টার্টআপের পরে বলা হয়।

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

কিভাবে কাজ করে?

  • লাইব্রেরিগুলি এই নিয়মগুলি সংজ্ঞায়িত করতে পারে যা AAR আর্টিফ্যাক্টগুলিতে প্যাকেজ করা হবে৷ যখন একটি APK তৈরি করা হয় যাতে এই আর্টিফ্যাক্টগুলি অন্তর্ভুক্ত থাকে, তখন এই নিয়মগুলিকে একত্রিত করা হয় এবং মার্জ করা নিয়মগুলি একটি কমপ্যাক্ট বাইনারি ART প্রোফাইল তৈরি করতে ব্যবহৃত হয় যা APK-এর জন্য নির্দিষ্ট৷ অ্যাপ্লিকেশনটির কার্যক্ষমতা উন্নত করতে, বিশেষ করে প্রথমবার চালানোর জন্য অ্যাপ্লিকেশানের একটি নির্দিষ্ট উপসেট কম্পাইল করার জন্য ডিভাইসগুলিতে APK ইনস্টল করা হলে ART তারপর এই প্রোফাইলটি লাভ করতে পারে। মনে রাখবেন যে এটি ডিবাগযোগ্য অ্যাপ্লিকেশনগুলিতে কোন প্রভাব ফেলবে না৷

  • নিয়ম ফাইলের নাম baseline-prof.txt হওয়া উচিত এবং আপনার মূল উৎস সেটের রুট ডিরেক্টরিতে রাখা উচিত (এটি আপনার AndroidManifset.xml ফাইলের একটি ভাইবোন ফাইল হওয়া উচিত)

  • বর্তমানে এই ফাইলগুলি শুধুমাত্র তখনই ব্যবহার করা হবে যদি আপনি Android Gradle Plugin 7.0+ ব্যবহার করেন এবং বর্তমানে শুধুমাত্র আপনার gradle.properties এ একটি পতাকা দিয়ে সক্ষম করা আছে:

    # Enable adding baseline-prof.txt files to AAR artifacts, and binary profiles to APKs
    android.experimental.enableArtProfiles=true
    

প্রোফাইলগুলির একটি ভারসাম্য প্রয়োজন

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