{"enrichment":{"faq":[{"a":"android-coil-compose enables remote image loading via Coil's AsyncImage composable. Pass a URL string to the model parameter, specify a contentDescription for accessibility, and optionally provide contentScale and modifier for layout control. AsyncImage handles network requests, caching, and lifecycle management automatically, making it the simplest approach for most image-loading scenarios in Compose.","q":"How do I load images in Jetpack Compose with Coil?"},{"a":"android-coil-compose offers three APIs for different needs. AsyncImage is the highest-level composable, ideal for straightforward image display. rememberAsyncImagePainter wraps the image as a Painter for use in Image() or other paint-accepting composables, useful when you need fine-grained control. SubcomposeAsyncImage defers composition until the image loads, enabling custom placeholder and error layouts without layout thrashing.","q":"What's the difference between AsyncImage, painter, and subcomposition APIs?"},{"a":"android-coil-compose supports accessibility through contentDescription parameters on AsyncImage and Image composables. Use the contentScale parameter to maintain aspect ratios, and leverage SubcomposeAsyncImage's content lambda to define custom placeholder and error UI. Always provide meaningful contentDescription values; omit them only for purely decorative images using contentDescription = null.","q":"How can I implement accessible image loading with placeholders and error states?"},{"a":"android-coil-compose performs best in lazy columns when you use AsyncImage with appropriate sizing constraints and enable Coil's disk and memory caching. Avoid layout thrashing by setting fixed dimensions or using contentScale = ContentScale.Crop. For complex layouts, SubcomposeAsyncImage can defer composition until the image arrives, reducing frame drops during scrolling.","q":"How do I optimize image rendering performance in scrollable Compose lists?"},{"a":"android-coil-compose best practices include: always set contentDescription for accessibility, use contentScale to control aspect ratio behavior, enable caching via Coil's network module configuration, set explicit size constraints to avoid layout shifts, and use SubcomposeAsyncImage in lists to defer composition. Avoid loading oversized images; resize on the server or use Coil's transformation APIs to reduce memory pressure.","q":"What are jetpack compose image loading best practices?"},{"a":"android-coil-compose's SubcomposeAsyncImage shines when you need custom placeholder or error UI that adapts to the final image size, or when you want to defer composition until the image loads to prevent layout thrashing in scrollable lists. Use standard AsyncImage for simple cases where a fixed layout and single placeholder suffice, as it has lower composition overhead.","q":"When should I use SubcomposeAsyncImage instead of AsyncImage?"}],"shadow_tags":["image-loading-library","compose-ui-components","async-image-rendering","list-performance-optimization","accessibility-semantics","placeholder-fallback-states","network-image-fetching","painter-api-patterns","compose-sizing-constraints","error-state-recovery"],"summary_rewrite":"Master image loading in Jetpack Compose using Coil's AsyncImage component, painter variants, and subcomposition APIs. This skill covers sizing strategies, placeholder and error state handling, accessibility semantics, and list performance optimization to build stable, responsive image surfaces."},"files":[{"bytes":4724,"path":"skills/android-coil-compose/SKILL.md","sha256":"911bd516e01787e0889cd9935b45fa56f5af2661ff15b98ef6df588cabd8ed53","url":"https://skillfed.io/files/krutikJain/android-agent-skills/android-coil-compose/e1a041ed/SKILL.md"}],"id":"krutikJain/android-agent-skills/android-coil-compose","links":{"html":"https://skillfed.io/krutikJain/android-agent-skills/android-coil-compose","md":"https://skillfed.io/krutikJain/android-agent-skills/android-coil-compose.md","repo":"https://github.com/krutikJain/android-agent-skills"},"meta":{"agents_supported":[],"first_seen":"2026-07-28","forks":2,"language":"Python","last_updated":"2026-03-25","license":"MIT","name":"android-coil-compose","publisher":"krutikJain","stars":14},"relations":{"similar":[{"id":"new-silvermoon/awesome-android-agent-skills/coil-compose"},{"id":"krutikJain/android-agent-skills/android-compose-performance"},{"id":"krutikJain/android-agent-skills/android-compose-foundations"},{"id":"krutikJain/android-agent-skills/android-compose-accessibility"},{"id":"krutikJain/android-agent-skills/android-compose-state-effects"},{"id":"krutikJain/android-agent-skills/android-testing-ui"},{"id":"krutikJain/android-agent-skills/android-material3-design-system"},{"id":"krutikJain/android-agent-skills/android-compose-xml-interoperability"},{"id":"krutikJain/android-agent-skills/android-modularization"},{"id":"krutikJain/android-agent-skills/android-navigation-deeplinks"}]},"slug":{"owner":"krutikJain","repo":"android-agent-skills","skill":"android-coil-compose"},"version":"e1a041ed"}
