一键导入
android-robustness-reliability
Systematic best practices and tools to prevent runtime issues, race conditions, and corner cases in Android apps.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Systematic best practices and tools to prevent runtime issues, race conditions, and corner cases in Android apps.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Guidance for creating effective modular skills for Claude. Use when creating or refining skills to ensure they are concise, follow progressive disclosure patterns, and provide appropriate degrees of freedom.
Guidelines for ensuring smooth and race-condition-free theme transitions in Android, specifically regarding icon tinting and state management.
Best practices for effective human-AI pair programming and communication
Clarify touch-target vs visual size when users ask to resize buttons without changing icons.
Choose whether the outer container acts as the touch proxy or remains a layout placeholder to control hit targets.
Best practices for 60fps custom View rendering with zero allocation in onDraw
| name | Android Robustness & Reliability |
| description | Systematic best practices and tools to prevent runtime issues, race conditions, and corner cases in Android apps. |
This skill outlines the systematic approach and tools for handling non-obvious runtime issues like race conditions, corner cases, and architectural trade-offs in high-quality Android applications.
@WorkerThread, @UiThread annotations).-Dkotlinx.coroutines.debug to trace coroutine leaks and deadlocks.adb shell monkey -p your.package.name 5000 to stress-test UI stability and find unhandled exceptions in rapid interaction sequences.Handler(Looper.getMainLooper()).post {} or View.post {} to ensure operations happen in a predictable order.AtomicBoolean or volatile properties for simple state flags accessed across threads.isActive flag to explicitly pause/resume conflicting background tasks.kotlinx.coroutines.sync.Mutex for non-blocking mutual exclusion in coroutines.LifecycleScope or ViewModelScope to prevent orphaned background tasks from updating a destroyed UI.isInitialized before executing late-arrival callbacks (e.g., network results or delayed animations).Restore State -> Re-bind View -> Resume Animations.DisplayListener, WakeLock) in onPause or onDestroy to avoid "zombie" updates to a recycled activity.// Trade-off: [Reason].BroadcastReceivers and Listeners unregistered in the companion lifecycle method?