Việc ra mắt hiệu ứng chuyển đổi shell đã hợp nhất và hệ thống hoá phương thức chạy ảnh động trong hệ thống, cho phép truy xuất thông tin tập trung về ảnh động dự kiến sẽ thực thi.
Dấu vết chuyển đổi bao gồm dữ liệu về mọi quá trình chuyển đổi trong giao diện WindowManager (WM), từ cả máy chủ hệ thống và giao diện. Droidfood sẽ bật vĩnh viễn dấu vết này và tự động nhúng dấu vết đó vào báo cáo lỗi.
Để biết thêm thông tin về việc thu thập dấu vết, hãy xem phần Chuyển đổi Shell.
Trình xem Transitions của Winscope hiển thị thông tin này cho các dấu vết chuyển đổi chứa cả thông tin phía máy chủ và phía máy khách. Trình xem bao gồm một chế độ xem nhật ký bảng ở bên trái (hiển thị thông tin chuyển đổi cấp cao) và một chế độ xem chi tiết ở bên phải cho từng hiệu ứng chuyển đổi:
Hình 1. Phân tích dấu vết chuyển đổi của shell.
Chế độ xem dạng bảng
Chế độ xem theo bảng chứa:
- Id: Mã chuyển đổi chỉ được tạo để gỡ lỗi.
- Loại: Loại chuyển đổi, như được xác định trong
Transitions.java
. - Thời gian gửi: Dấu thời gian mà quá trình chuyển đổi được gửi từ máy chủ đến shell để xử lý.
- Thời gian gửi: Dấu thời gian khi hiệu ứng chuyển cảnh được gửi đến trình xử lý để bắt đầu phát.
- Thời lượng: Thời gian chuyển đổi từ khi bắt đầu phát đến khi kết thúc.
- Trạng thái: Nếu hiệu ứng chuyển cảnh là:
- ĐÃ PHÁT:: Đã phát.
- ABORTED: Bị huỷ trước khi phát. Bạn có thể huỷ một hiệu ứng chuyển đổi từ phía shell hoặc WM.
- MERGED: Được trình xử lý hiệu ứng chuyển cảnh hợp nhất thành một hiệu ứng chuyển cảnh khác đang phát (trình xử lý quyết định cách xử lý hiệu ứng này).
Chế độ xem chi tiết
Ngoài thông tin chi tiết trong chế độ xem bảng, chế độ xem chi tiết về hiệu ứng chuyển cảnh trong phần HIỆU ỨNG CHUYỂN CẢNH ĐƯỢC CHỌN còn có:
handler
: Trình xử lý chuyển đổi đã xử lý ảnh động này.createTimeNs
: Dấu thời gian mà quá trình chuyển đổi được tạo trên phía máy chủ WM.finishTimeNs
: Dấu thời gian khi phía máy chủ WM được thông báo rằng quá trình chuyển đổi đã hoàn tất ở phía shell.endTransactionId
: Giao dịch SurfaceFlinger cuối cùng có trong quá trình chuyển đổi này.startTransactionId
: Giao dịch SurfaceFlinger ban đầu có trong quá trình chuyển đổi này.targets
: Danh sách những người tham gia chuyển đổi.type
: Loại chuyển đổi, như được xác định trongTransitions.java
.
Mục tiêu
Mục tiêu là những phần tử liên quan đến hiệu ứng chuyển đổi, thường là các hoạt động hoặc tác vụ. Đối với mỗi mục tiêu, thông tin sau sẽ được ghi lại:
layerId
: Lớp đang được tạo hiệu ứng (từ hệ phân cấp SurfaceFlinger).mode
: Loại ảnh động được thực hiện trên lớp này.windowId
: Cửa sổ đang được tạo ảnh động (từ hệ phân cấp WindowManager).flags
: Nhóm cờ mới đang được áp dụng cho lớp.