首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

API23级上使用App :srcCompact(使用VectorDrawable)的应用程序崩溃

API23级上使用App :srcCompact(使用VectorDrawable)的应用程序崩溃是由于在API23级及以上的Android版本中,使用AppCompat库的srcCompact属性加载VectorDrawable时可能会导致应用程序崩溃。

VectorDrawable是一种矢量图形格式,它可以在不损失图像质量的情况下进行缩放。AppCompat库是一个兼容库,用于在较旧的Android版本上提供新的UI功能。

在API23级及以上的Android版本中,使用AppCompat库的srcCompact属性加载VectorDrawable时,可能会出现以下问题:

  1. 兼容性问题:AppCompat库的srcCompact属性在较旧的Android版本上可能不被支持,导致应用程序崩溃。

解决方法:

  • 使用其他方式加载VectorDrawable,如使用ImageView的src属性或通过代码动态加载。
  • 在较旧的Android版本上使用矢量图形的替代方案,如使用PNG或JPEG格式的位图。
  1. 编译错误:在使用AppCompat库的srcCompact属性加载VectorDrawable时,可能会出现编译错误。

解决方法:

  • 确保项目中引入了正确的AppCompat库版本。
  • 检查代码中是否正确引用了AppCompat库的命名空间。

推荐的腾讯云相关产品和产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

使用Android Studio实现为系统app签名

我们在做系统app开发时,往往会在AndroidManifest.xml文件中添加:android:sharedUserId=”android.uid.system”以获取系统权限,如果你正在使用...之后会在”out/target/product/youProduct/system/priv-app”下生成对应带签名apk文件。 第二种,就是下边将要介绍,对于习惯使用ide同学准备。...三、使用keytool-importkeypair工具为生成jks文件添加系统签名。...别名] 四、配置gradle文件使用签名文件 配置build.gradle文件(Module:app),在Android{}代码块中添加如下代码: signingConfigs { release...以上这篇使用Android Studio实现为系统app签名就是小编分享给大家全部内容了,希望能给大家一个参考。

2.4K30

使用Helm将应用程序部署到IBM CloudKubernetes

“Helm帮助我们管理Kubernetes应用程序。Helm Charts帮助我们定义,安装和升级更复杂Kubernetes应用程序。...图表很容易创建,版本,共享和发布,所以开始使用Helm、并停止复制和粘贴疯狂。最新版本Helm由CNCF维护。...“ 我们可以通过调用像“helm install stable / mongodb”这样命令来轻松地安装应用程序。也可以在通过YAML配置文件安装应用程序之前配置应用程序。...首先,我们需要将Bluemix CLI配置为针对我们Kubernetes集群,并且我们需要在开发机器安装Helm。...作为解决方法(不是用于生产),我们可以在工作节点使用磁盘空间。在config.yaml中为MongoDB运行'kubectl create -f config.yaml'。

1.3K50
  • 绘制路径:Android 中矢量图渲染

    这样你就可以在不同主题屏幕使用一个图标: ? 在明/暗屏幕对图标进行着色,使其具有适当颜色 使用着色一个好处是,你不需要依赖于你资源文件(通常来自你设计师)是正确颜色。对图标使用 ?...如果你只想在某些路径使用主题颜色,那么必须直接使用它们。另一个需要考虑问题是,你资源是否具有重叠渲染。...这也使用了 AndroidX 颜色状态列表填充,这意味着你也可以在 ColorStateList 中使用主题属性和 alpha(它们本身只在 API23 中被添加到平台中)。 <!...例如,这个 app 图标使用径向渐变来近似白色圆圈投影,三角形下方阴影使用线性渐变: ?...转换包含渐变路径 颜色数量 希望这篇文章已经表明 VectorDrawable支持许多高级特性,你可以使用这些特性在应用程序中渲染更复杂资源,甚至可以用一个文件替换多个资源,帮助你构建更精简应用程序

    3K20

    使用Helm将应用程序部署到IBM CloudKubernetes

    借助Helm,您可以非常方便地将应用程序,工具和数据库(如MongoDB,PostgreSQL,WordPress和Apache Spark)部署到您自己Kubernetes集群中。...Helm Charts帮助您定义,安装和升级最复杂Kubernetes应用。Chart很容易实现应用创建,版本控制,共享和发布,所以请开始使用Helm并停止疯狂地复制和粘贴。...首先,您需要针对您Kubernetes集群配置相应Bluemix CLI,并且您需要在开发机器安装Helm。...作为解决方法(不是用于生产),您可以在工作节点使用磁盘空间。在MongoDBconfig.yaml中添加以下内容,然后运行'kubectl create -f config.yaml'。...accessModes: - ReadWriteOnce hostPath: path: "/tmp/data" 在这之后,您可以在Kubernetes管理面板(“kubectl proxy”)看到正在运行一切内容

    2K90

    使用Helm将应用程序部署到IBM CloudKubernetes

    Helm Charts帮助您定义,安装和升级最复杂Kubernetes应用程序。Charts很容易创建应用,版本控制,共享和发布应用,所以开始使用Helm放弃繁杂的人工部署。...您也可以在通过YAML(Yet Another Multicolumn Layout)在安装应用程序之前配置应用程序。 Kubernetes社区提供了稳定Helm Charts版本策划目录。...首先,您需要将Bluemix CLI配置为针对您Kubernetes集群,并且您需要在开发机器安装Helm。.../ (增加稳定版本Helm仓库) 接下来,您可以使用以下命令安装Kubernetes应用程序: helm install --name my-tag stable/mongodb (安装mongodb...当然如果您是非生产环境,您可以在节点使用磁盘剩余空间。

    1.6K90

    如何在Electra越狱设备使用LLDB调试应用程序

    在3月18日时候,我就曾发表过一篇关于在Electra越狱设备使用LLDB调试应用程序文章。本文我将在此基础,做进一步更新优化。...我试图在google搜索,有关使用Electra越狱iOS设备上调试AppStore应用程序简要说明。但令我失望是,竟然没有找到任何有用资料。...我在以下设备进行了测试: 运行iOS 11.1.2iPhone 7 运行iOS 11.0.1iPhone 5s 这两款设备都使用Electra jailbreak 1.0.4进行了越狱。...现在,在Mac打开另一个控制台,然后运行 ? 在LLDB控制台中运行 ? 在LLDB下运行应用程序 在你Mac控制台上,连接iPhone: ? 在iPhone控制台中运行 ?...如果你遇到了错误则, 在没有调试器情况下运行应用程序 如前一节所述,将调试器attach到应用程序 关闭(LLDB)应用程序 尝试在调试器下再次运行应用程序 *参考来源:kov4l3nko,FB小编

    2.3K40

    如何使用CentOS 7Bottle Micro Framework部署Python Web应用程序

    在本教程中,我们将介绍如何设置和使用Bottle在CentOS 7服务器创建简单Web应用程序。...run我们导入模块可用于在开发服务器运行应用程序,这对于快速查看程序结果非常有用。 route我们导入模块负责告诉应用程序由哪些Python函数处理哪些URL请求。...这很重要,因为我们应用程序是远程托管 该port参数指定将使用端口 保存并关闭文件。...我们在这里看到模板语言基本是Python。 在设计输出时,我们可以使用传递给模板rows变量。 我们可以通过前面的增加 %方式输入Python行。...(只是在后台启动它意味着你应用程序将在服务器重启后停止。)CentOS 7使用systemd。 结论 到目前为止,您应该能够看到如何使用像Bottle这样简单微框架来构建复杂应用程序

    1.9K40

    关于Android开发你必须要懂APK瘦身知识

    该文件列出应用程序名称,版本,访问权限和引用库文件。该文件使用Android二进制XML格式。...它包括相同 ProGuard 规则,但还包括其他在字节码一(方法内和方法间)执行分析优化,以进一步减小 APK 大小和帮助提高其运行速度。...矢量图像在Android中表示为VectorDrawable对象。通过一个VectorDrawable对象,一个100字节文件可以生成一个与屏幕尺寸一致清晰图像。...但是,系统渲染每个 VectorDrawable对象需要很长时间,而较大图像需要更长时间才能显示在屏幕。因此,只有在显示小图像时才考虑使用这些矢量图形。...题外话,如果运行时找不到SO的话,会导致应用崩溃

    1.1K40

    你必须要懂APK瘦身知识

    该文件列出应用程序名称,版本,访问权限和引用库文件。该文件使用Android二进制XML格式。 来看看淘宝APPunzip之后文件目录 ?...它包括相同 ProGuard 规则,但还包括其他在字节码一(方法内和方法间)执行分析优化,以进一步减小 APK 大小和帮助提高其运行速度。...矢量图像在Android中表示为VectorDrawable对象。通过一个VectorDrawable对象,一个100字节文件可以生成一个与屏幕尺寸一致清晰图像。...但是,系统渲染每个 VectorDrawable对象需要很长时间,而较大图像需要更长时间才能显示在屏幕。因此,只有在显示小图像时才考虑使用这些矢量图形。...题外话,如果运行时找不到SO的话,会导致应用崩溃

    74530

    使用AppSync为在Dell PowerFlex运行应用程序提供拷贝数据管理

    AppSync for PowerFlex概述 AppSync for PowerFlex提供单一用户界面,可简化、编排和自动化在PowerFlex上部署所有企业数据库应用程序中生成和使用DevOps...01 AppSync架构 AppSync架构包含三个主要组件: ●AppSync server部署在物理或虚拟Windows服务器。...02 在AppSync注册PowerFlex系统 AppSync通过使用API调用与PowerFlex Gateway通信来实现与PowerFlex系统交互: Step 1 AppSync控制台,选择...AppSync支持三种类型服务计划: ☆Bronze青铜——您可以使用Bronze服务计划创建应用程序数据本地拷贝; ☆Silver白银——您可以使用Silver服务计划创建应用程序数据远程拷贝;...☆Gold黄金——您可以使用Gold服务计划创建应用程序数据本地和远程拷贝。

    1.1K20

    Android App瘦身实战

    res/ 存放资源文件,例如:drawable、layout等等 assets/ 应用程序资源,应用程序可以使用AssetManager来检索该资源 classes(n).dex classes文件是...它包括相同ProGuard规则,但还包括其他在字节码一(方法内和方法间)执行分析优化,以进一步减小APK大小和帮助提高其运行速度。...通过上图我们可以看出图片格式选择方法:如果能用VectorDrawable来表示的话优先使用VectorDrawable,如果支持WebP则优先用WebP,而PNG主要用在展示透明或者简单图片,而其它场景可以使用...矢量图片 使用矢量图片能够有效减少App中图片所占用大小,矢量图形在Android中表示为VectorDrawable对象。...使用VectorDrawable对象,100字节文件可以生成屏幕大小清晰图像,但系统渲染每个VectorDrawable对象需要大量时间,较大图像需要更长时间才能出现在屏幕

    1.7K80

    android 中 vector 用法 ,坑 ,怎么替代,关于这几方面的一些看法

    第二种是第一种升级版, 没有实质区别,但是在缩放上提供了更好性能和更少内存占用。...接着看怎么引用, 先讲解一下, android L 以后矢量图是以vectorDrawable形式来使用了, 但是这个库只支持L以后,于是谷歌出了一个兼容包: VectorDrawableCompat...意思是说 在appcompat 23.2.0开始,提供了以上两种支持库一个用于兼容矢量图,但是这个支持库要使用的话,还得在appgradle里面加个这样配置: //在gradle2.0及以上: android...前面所说这个矢量图只能用在AppcomatImageView,AppcompatImageButton, 但实际,用ImageView,ImageButton加上app:srcCompat也行,...就是我们需要字体了, 其他那些在web, 可以忽略。

    92430

    Android 性能优化—— 启动优化提升60%

    应用启动速度 一个应用App启动速度能够影响用户首次体验,启动速度较慢(感官)应用可能导致用户再次开启App意图下降,或者卸载放弃该应用程序 本文将从两个方向优化应用启动速度 : 1.视觉体验优化...这些任务是: 1.加载并启动应用程序 2.启动后立即显示应用程序空白启动窗口 3.创建应用程序进程 一旦系统创建应用程序进程,应用程序进程就会负责下一阶段,这些阶段包括: 1.创建app对象...2.启动主线程(main thread) 3.填充加载布局Views 4.在屏幕执行View绘制过程.measure -> layout -> draw 应用程序进程完成第一次绘制后,系统进程会交换当前显示背景窗口...此时,用户可以开始使用应用程序 因为App应用进程创建过程是由手机软硬件决定,所以我们只能在这个创建过程中视觉优化 启动主题优化 所谓主题优化,就是应用程序在冷启动时候(1~2阶段),设置启动窗口主题...因为现在 App 应用启动都会先进入一个闪屏页(LaunchActivity) 来展示应用信息 默认情况下会出现白屏现象,系统默认会在启动应用程序时候 启动空白窗口 ,直到 App 应用程序入口

    2K20

    Android性能优化典范 - 第6季

    另外还介绍了减少安装包大小checklist以及如何使用VectorDrawable来减少安装包大小。 1....目前大多数开发者都会通过设置启动窗口主题方式来替换系统默认启动窗口,通过这种方式只是使用『障眼法』弱化了用户对启动时间感知,但本质并没有对启动速度做什么优化。...部分引入到工程中jar类库可能并不是专门针对移动端APP而设计,他们最开始可能是运用在PC或者Server使用这些类库不仅仅额外增加了包大小,还增加了编译时间。...VectorDrawable for smaller APKs 针对不同分辨率提供多张精度图片会额外增加APK大小,针对这个问题解决方案是考虑使用VectorDrawable,它仅仅只需要一个文件...使用VectorDrawable还可以避免因为使用帧动画导致图片资源过多情况,如下图所示 前面介绍了VectorDrawable(VD)优势,但是在使用VectorDrawable时候,还是有以下问题需要特别注意

    68130

    Uni开发app使用Windows S10,放在ios,全程跟着一个马平川。

    )生成证书和描述文件 3.ios开发者账号(我申请了一年688人民币,个人账号) 4.HbuilderX开发工具,用来封装(。...1.开发者账号,登录developer.apple.com/account/res… 2.申请iosapp ID(app唯一ID) 2.1选择标识符并单击要创建编号。...2.2选择应用程序id,然后单击继续。 2.3选择应用程序,然后单击继续。...第五,放到App Store 1.开发者账户登录https://Appstoreconnect.Apple.com/,选择我应用,点击数字,创建一个新应用。...5)如果app使用相册、扫描、麦克风等功能,一定要在HbuilderXmainfest.json文件中描述清楚 3.填写完以上信息后,点击右上角‘保存’。最后一步是构建版本。

    29230

    Uni开发app使用Windows S10,放在ios,全程跟着一个马平川

    download.php)生成证书和描述文件 3.ios开发者账号(我申请了一年688人民币,个人账号) 4.HbuilderX开发工具,用来封装(。...1.开发者账号,登录developer.apple.com/account/res… 申请iosapp ID(app唯一ID) 2.1选择标识符并单击要创建编号。...2.2选择应用程序id,然后单击继续。 2.3选择应用程序,然后单击继续。...第五,放到App Store 1.开发者账户登录https://Appstoreconnect.Apple.com/,选择我应用,点击数字,创建一个新应用。...如果app使用相册、扫描、麦克风等功能,一定要在HbuilderXmainfest.json文件中描述清楚 3.填写完以上信息后,点击右上角‘保存’。最后一步是构建版本。

    28620

    Uni开发app使用Windows S10,放在ios,全程跟着一个马平川。

    )生成证书和描述文件3.ios开发者账号(我申请了一年688人民币,个人账号)4.HbuilderX开发工具,用来封装(。...wgt)并开发第二,申请iosApp ID和外包专用密码1.开发者账号,登录developer.apple.com/account/res…​申请iosapp ID(app唯一ID) 2.1选择标识符并单击要创建编号...2.2选择应用程序id,然后单击继续。 ​ 2.3选择应用程序,然后单击继续。 ​...第五,放到App Store1.开发者账户登录https://Appstoreconnect.Apple.com/,选择我应用,点击数字,创建一个新应用。​​​...附件:用手机录屏,这是你app基本操作。如果app使用相册、扫描、麦克风等功能,一定要在HbuilderXmainfest.json文件中描述清楚​​​3.填写完以上信息后,点击右上角‘保存’。

    45641

    Android指纹识别深入浅出分析到实战(6.0以下系统适配方案)

    Google从Android6.0(api23)开始才提供标准指纹识别支持,并对外提供指纹识别相关接口。本文除了能适配6.0及以上系统,主要还提供6.0以下设备适配解决方案。...Google官方支持指纹识别的标准接口是在Android6.0开始,如果各个厂商都升级到6.0并且硬件都给予支持,那么我们按照标准指纹识别接口使用就可以了。...但是如果一个app拥有大量第三方厂商6.0以下设备,非要支持指纹识别功能,那么只能去做支持了。...对于上面提到三种情况,前面两种情况代码写法是一致,只需要按照Google官方文档写就行了,只是不再需要api>=23逻辑判断,代码会有警告,还必须使用try catch进程异常捕获,因为鬼都不知道厂商系统内部会发生什么崩溃出来...特殊设备坑 Letv X500 Android 6.0,API23       不按正常套路回调onAuthenticationError,onAuthenticationFailed,理论应该是识别失败情况

    1.4K80
    领券