Canvas: trying to draw too large(256032000bytes) bitmap.

1、错误展示

测试了一下一张图片的显示,发现二个手机上测试的结果不一样,配制好一些的手机,直接就通过,但是屏小一些的测试手机上,直接报下面的错误。

这个意思是图片太大了,直接就崩了。

2、代码编写

复制代码
 logoPainter?.let { painter ->
                Image(
                    painter = painterResource(R.drawable.bg),
                    contentDescription = stringResource(R.string.app_name),
                    contentScale = ContentScale.FillHeight,
                    modifier = Modifier
                        .fillMaxWidth()
                        .align(Alignment.TopCenter)
                        .height(200.dp)
                )
            } ?: run {
                ... 
            }

上面就是加载一张图片,别的并没有任何功能。

3、分析原因

然后bg是一张图片,大概3000*2000多一张的图片。

导致上面的问题,应该图片太大了(分辨率),不是图片太大了(占用空间)。

4、解决方法

复制代码
 logoPainter?.let { painter ->
                Image(
                    painter = painterResource(R.mipmap.bg),
                    contentDescription = stringResource(R.string.app_name),
                    contentScale = ContentScale.FillHeight,
                    modifier = Modifier
                        .fillMaxWidth()
                        .align(Alignment.TopCenter)
                        .height(200.dp)
                )
            } ?: run {
                ... 
            }

说明:将一开始的代码R.drawable改为R.mipmap,然后分别修改对应的bg.jpg的分辨率大小,这样再次加载,就会发现已经成功了,当然这里的大小也不能太大,一般保持在几K到几百K吧。

相关推荐
小书房1 小时前
Kotlin的by
android·开发语言·kotlin·委托·by
jinanwuhuaguo2 小时前
(第二十八篇)OpenClaw成本与感知的奇点——从“Token封建制”到“全民养虾”的本体论地基
android·人工智能·kotlin·拓扑学·openclaw
xxjj998a2 小时前
Laravel4.x核心特性全解析
android·mysql·laravel
JoshRen3 小时前
2026教程:在Android Termux中集成Gemini 3镜像站实现移动端文档自动处理与摘要生成(附国内免费方案)
android
诸神黄昏EX3 小时前
Android Google KEY
android
一起搞IT吧4 小时前
Android性能系列专题理论之十一:block IO问题分析思路
android·嵌入式硬件·智能手机·性能优化
小妖6664 小时前
怎么用 tauri 创建编译 android 应用程序
android·tauri
鸟儿不吃草5 小时前
安卓实现左右布局聊天界面
android·开发语言·python
xxjj998a7 小时前
Laravel 1.x:PHP框架的原始魅力
android·php·laravel
formula100007 小时前
在iOS/安卓上远程连接任何 Agent!Claude、Codex、Copilot、Gemini、OpenCode 等
android·copilot