AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Android Media And Image Expert

skill-prasad-vennam-awesome-android-ai-agent-skills-android-media-and-image-expert · by prasad-vennam

Use when loading images with Coil/Glide, implementing video playback with Media3/ExoPlayer, or handling media metadata in Android.

No reviews yet
0 installs
8 views
0.0% view→install

Install

$ agentstack add skill-prasad-vennam-awesome-android-ai-agent-skills-android-media-and-image-expert

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-prasad-vennam-awesome-android-ai-agent-skills-android-media-and-image-expert)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
4mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Android Media And Image Expert? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Android Media & Image Excellence 🎞️🖼️

Professional strategies for high-performance image loading, video streaming, and media management in modern Android applications.

⚡ When to Use

  • Image Loading: Performance-first loading with Coil (Compose-native).
  • Video Playback: Streaming using ExoPlayer or the new Media3 library.
  • Media Management: Displaying local media (Photos/Videos) with proper metadata.
  • Image Optimization: Sizing, Caching, and format support (WebP, AVIF).
  • Audio Playback: Playing background music or voice notes.

🖼️ Image Loading with Coil (The Android Standard)

  • Rule: ALWAYS use Coil for Compose. It's lightweight, efficient, and uses Coroutines.
  • Rule: NEVER load the full image if displayed in a small box. Use size(Size.ORIGINAL) or explicit size().

1. The AsyncImage Composable

AsyncImage(
    model = ImageRequest.Builder(LocalContext.current)
        .data(url)
        .crossfade(true)
        .placeholder(R.drawable.loading)
        .error(R.drawable.error)
        .build(),
    contentDescription = null,
    modifier = Modifier.clip(CircleShape)
)

2. Best Practices

  • [ ] Disk Caching: Ensure ImageLoader is configured to cache properly.
  • [ ] Memory Caching: Control cache size for apps with many images.
  • [ ] SVGs: Use SvgDecoder for sharp, vector-based illustrations.

🎥 Video Playback (Media3 / ExoPlayer)

  • Rule: Use the Media3 library as the modern wrapper for ExoPlayer.
  • Lifecycle: Ensure the player is released in onDispose to avoid memory leaks and battery drain.

1. Basic Player Setup

val exoPlayer = remember {
    ExoPlayer.Builder(context).build().apply {
        setMediaItem(MediaItem.fromUri(url))
        prepare()
    }
}

AndroidView(
    factory = { ctx ->
        PlayerView(ctx).apply {
            player = exoPlayer
        }
    },
    update = { _ -> },
    modifier = Modifier.fillMaxWidth()
)

🚀 Media Optimization Checklist

  • [ ] Format Support: Prefer WebP or AVIF over JPEG for small payloads.
  • [ ] Bitmap Downsampling: Only load the necessary resolution into memory.
  • [ ] Hardware Acceleration: Enable hardware decoding for 4K/HDR videos.
  • [ ] Placeholder strategy: Use unified placeholders for a smoother UI.

📏 UI Performance & UX

  • Shimmer Loading: Use a themed shimmer effect (skeleton) while media is loading.
  • Error States: Always provide a "Retry" button or clear error icon for failed media.
  • Audio Focus: Ensure your app respects other audio sources (Pause media when music starts elsewhere).

🧪 Testing and Verification

  • Slow Network Testing: Use ADB or a proxy to test UI behavior under poor network conditions.
  • Memory Profiler: Verify that media is being cleared from the heap when screens are closed.
  • Accessibility: Provide contentDescription for all meaningful images.

🔗 Related Resources

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.