mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-08-14 18:12:09 +08:00
perf(android): batch setupAccessibleView calls to improve TTI (#10391)
This commit is contained in:
@ -442,13 +442,28 @@ export function setupAccessibleView(view: View): void {
|
||||
updateAccessibilityProperties(view);
|
||||
}
|
||||
|
||||
export function updateAccessibilityProperties(view: View): void {
|
||||
let updateAccessibilityPropertiesMicroTask;
|
||||
let pendingViews = new Set<View>();
|
||||
export function updateAccessibilityProperties(view: View) {
|
||||
if (!view.nativeViewProtected) {
|
||||
return;
|
||||
}
|
||||
|
||||
pendingViews.add(view);
|
||||
if (updateAccessibilityPropertiesMicroTask) return;
|
||||
|
||||
updateAccessibilityPropertiesMicroTask = true;
|
||||
Promise.resolve().then(() => {
|
||||
updateAccessibilityPropertiesMicroTask = false;
|
||||
let _pendingViews = Array.from(pendingViews);
|
||||
pendingViews = new Set();
|
||||
for (const view of _pendingViews) {
|
||||
if (!view.nativeViewProtected) continue;
|
||||
setAccessibilityDelegate(view);
|
||||
applyContentDescription(view);
|
||||
}
|
||||
_pendingViews = [];
|
||||
});
|
||||
}
|
||||
|
||||
export function sendAccessibilityEvent(view: View, eventType: AndroidAccessibilityEvent, text?: string): void {
|
||||
|
Reference in New Issue
Block a user