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

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

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

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

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

Shell transition trace analysis

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

টেবিল ভিউ

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

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

বিস্তারিত দৃশ্য

টেবিল ভিউয়ের বিশদ বিবরণ ছাড়াও, SELECTED TRANSITION বিভাগে বিস্তারিত ট্রানজিশন ভিউতে রয়েছে:

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

লক্ষ্যবস্তু

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

  • layerId : অ্যানিমেশন করা হচ্ছে এমন স্তর (SurfaceFlinger hierarchy থেকে)।
  • mode : এই স্তরে সম্পাদিত অ্যানিমেশনের ধরণ।
  • windowId : অ্যানিমেটেড উইন্ডো (WindowManager অনুক্রম থেকে)।
  • flags : স্তরে নতুন পতাকার সেট প্রয়োগ করা হচ্ছে।