শেল ট্রানজিশন

শেল ট্রানজিশনের প্রবর্তন সিস্টেমের মধ্যে অ্যানিমেশন চালানোর পদ্ধতিকে একত্রিত ও কোডিফাই করে, যা কার্যকর করার জন্য নির্ধারিত অ্যানিমেশন সম্পর্কিত কেন্দ্রীভূত তথ্য পুনরুদ্ধারের অনুমতি দেয়।

ট্রানজিশন ট্রেসে উইন্ডো ম্যানেজার (WM) শেলের মধ্যে হওয়া প্রতিটি ট্রানজিশনের ডেটা অন্তর্ভুক্ত থাকে, যা সিস্টেম সার্ভার এবং শেল উভয় দিক থেকে উদ্ভূত হয়। এই ট্রেসটি Droidfood-এ স্থায়ীভাবে সক্রিয় করা হয়েছে এবং বাগ রিপোর্টে স্বয়ংক্রিয়ভাবে এম্বেড করা হয়েছে।

ট্রেস সংগ্রহ সম্পর্কে আরও তথ্যের জন্য, শেল ট্রানজিশন দেখুন।

Winscope এর ট্রানজিশন ভিউয়ার সার্ভার এবং ক্লায়েন্ট-সাইড উভয় তথ্য ধারণকারী ট্রানজিশন ট্রেসের জন্য এই তথ্য প্রদর্শন করে। ভিউয়ারে একটি টেবিল লগ ভিউ থাকে যার মধ্যে বাম দিকে ট্রানজিশন সম্পর্কে উচ্চ-স্তরের তথ্য এবং ডানদিকে প্রতিটি ট্রানজিশনের জন্য একটি বিস্তারিত ভিউ থাকে:

Shell transition trace analysis

চিত্র 1. শেল ট্রানজিশন ট্রেস বিশ্লেষণ।

টেবিল ভিউ

টেবিল ভিউতে রয়েছে:

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

বিস্তারিত ভিউ

টেবিল ভিউতে বিশদ বিবরণ ছাড়াও, নির্বাচিত ট্রানজিশন বিভাগে বিশদ রূপান্তর দৃশ্যে রয়েছে:

  • handler : ট্রানজিশন হ্যান্ডলার যেটি এই অ্যানিমেশন পরিচালনা করেছে।
  • createTimeNs : টাইমস্ট্যাম্প WM সার্ভার সাইডে ট্রানজিশন তৈরি করা হয়েছিল।
  • finishTimeNs : টাইমস্ট্যাম্প যখন WM সার্ভারের পক্ষ থেকে জানানো হয় যে রূপান্তরটি শেল সাইডে চলছে।
  • endTransactionId : চূড়ান্ত SurfaceFlinger লেনদেন এই রূপান্তরে অন্তর্ভুক্ত।
  • startTransactionId : প্রাথমিক SurfaceFlinger লেনদেন এই রূপান্তরে অন্তর্ভুক্ত।
  • targets : ট্রানজিশন অংশগ্রহণকারীদের তালিকা।
  • type : ট্রানজিশন টাইপ, যেমন Transitions.java এ সংজ্ঞায়িত করা হয়েছে

টার্গেট

লক্ষ্য হল রূপান্তরের সাথে জড়িত উপাদান (সাধারণত কার্যকলাপ বা কাজ)। প্রতিটি লক্ষ্যের জন্য আমরা রেকর্ড করি:

  • layerId : যে স্তরটি অ্যানিমেটেড করা হচ্ছে (সারফেসফ্লিংগার হায়ারার্কি থেকে)।
  • mode : এই স্তরে সঞ্চালিত অ্যানিমেশনের প্রকার।
  • windowId : যে উইন্ডোটি অ্যানিমেটেড করা হচ্ছে (WindowManager হায়ারার্কি থেকে)।
  • flags : নতুন সেট পতাকা স্তর প্রয়োগ করা হচ্ছে.