当前位置: 首页 > 知识库问答 >
问题:

启动Xamarin时出错。表单应用程序:试图绘制太大(165514752字节)的位图

蔺弘
2023-03-14

当我在安装后第一次运行我的Xamarin.formsAndroid应用程序时,它会打开一个页面,其中包含一个大小为89.2 KB的平均_5.png图像。

<Grid HorizontalOptions="StartAndExpand" VerticalOptions="StartAndExpand">
                <Image x:Name="Advert" 
                       Opacity="0.7" 
                       IsVisible="false" 
                       Aspect="Fill"
                       Source="Avertissement_5.png"/>
                    <Label x:Name="AdvertText1"
                       IsVisible="false"
                       FontSize="Medium"
                       TextColor="White"
                       FontAttributes="Italic"
                       Text="Vous n'avez aucune liste !"
                       VerticalOptions="Center"
                       HorizontalOptions="Center"
                       Margin=" 0,-30,0,0"/>
                    <Label x:Name="AdvertText2"
                       IsVisible="false"
                       FontSize="Medium"
                       TextColor="White"
                       FontAttributes="Italic"
                       Text="Tapez sur le bouton + pour en ajouter une..."
                       VerticalOptions="Center"
                       HorizontalOptions="Center"
                       Margin=" 0,30,0,0"/>
            </Grid>

此图像位于Resources/drawable文件夹中。在某些手机(主要是三星品牌)上,在查看此页面时应用程序崩溃,出现以下错误:

当我的Resources/drawable文件夹中没有任何位图文件时,我不理解165514752字节位图文件大小的错误,而且这个错误只发生在一些手机上。非常感谢您的帮助,因为我的应用程序无法在某些手机上使用。

共有1个答案

叶冥夜
2023-03-14

165514752字节/4597632像素=每像素36字节。

三星手机的屏幕(像素)密度必须为3;它将图像扩展3倍,成本为3 x 3 x 4字节/像素=36字节/像素。

幸运的是,有一个解决方案:在参考资料中创建一个可绘制的nodpi文件夹。把图像移到那里。

正如本SO帖子所解释的:

draable-nodpi将绕过缩放,而draable将使用默认缩放

确保从文件夹drawable中删除原始图像。这迫使它查看“可选”可绘制文件夹。

这应该有助于图像加载性能在任何Android手机,做图像的预缩放(匹配屏幕密度)。

 类似资料:
  • 我正在运行Ubuntu 16.04。在Android Studio上,当我试图在模拟器中运行我的应用程序时,我得到以下错误: 致命的例外:主要过程:项目名称在这里,PID: 2528java.lang.运行时间例外:画布:试图绘制太大(216090000bytes)位图。在android.view.DisplayListCanvas.throw如果不能绘制(DisplayListCanvas.ja

  • 我有一个发布的应用程序在Android N上启动时崩溃,因为新引入的

  • 当我运行这个错误时,请帮助我解决这个问题 启动应用程序上下文时出错。要显示条件,请报告启用“调试”后重新运行应用程序。2019-02-11 10:53:55.839错误8804 --- [ restartedMain]o. s. b. d.日志失败分析记者: 应用程序启动失败 说明: com中的字段userDao。实例Spring Security应用程序编程接口。服务UserServiceImp

  • 我想对Spring数据使用ElasticSearch。我使用的是Spring 5、Spring Boot 2和ElasticSearch 7.4。Docker compose: 马文: 存储库: 配置: 和错误时启动应用程序: 引起:java.lang.NoSuchMEDError:org.springframework.http.HttpHeaders.(Lorg/springframe/uti

  • 当我在logcat中查找时,我看到以下消息: 在我的第一个活动中,我将这个问题追溯到一个ImageView,它显示了一个漂亮的大背景图像。问题中的图像是2048x1066,并且在我的通用目录中,因此无论密度如何,都将使用此图像。 当设置为时,一切正常。但是当我进入时,它就会停止工作。如果我然后用一个较小的映像交换出来,它会在下工作,但是如果我上升到下,它会再次停止工作。 我的猜测是,调整会使您的设