位置: 编程技术 - 正文

调用安卓相机闪退(安卓拍照闪退)

编辑:rootadmin
1.现象

推荐整理分享调用安卓相机闪退(安卓拍照闪退),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:安卓相机突然黑屏什么都用不了怎么办,安卓相机故障怎么办,安卓相机闪光灯怎么开,安卓相机突然黑屏什么都用不了怎么办,android调用相机后拍照后崩溃,android调用相机后拍照后崩溃,安卓相机故障怎么办,安卓手机相机打开闪退,内容如对您有帮助,希望把文章链接给更多的朋友!

在使用安卓手机的一些应用调用照相机时,我们会发现有时候当我们拍照完毕时,程序会出现闪退,非常影响用户体验。目前项目中也有类似的拍照上传功能,当使用米3手机测试时,拍照上传功能可以正常使用,当我们换上红米或者其他一些比较早或者比较低端的手机时,就出现了闪退的问题。

1.1开启相机的intent1.2onActivityResult接收intent返回值并获取bitmap2.分析问题

经过debug我们可以发现,如果程序发生闪退,此时mPictureCachePath值为null,可是我们在一开始已经为这个变量赋值,为什么当从相机程序返时,mPictureCachePath这个全局变量会变为null?

那我们给mPictureCachePath赋个初始值看看,结果当程序返回时,这个变量的值不是我们赋值过的路径,而是那个初始值。这样,我推测当前所在的Activity在相机程序返回时应该是被重新创建了。

通过调试,我们发现如果使用米3手机,程序不闪退,相机程序在返回我们的Actvity时没有执行onCreate方法,而使用红米手机,程序闪退时,此时我们的Actvity执行了onCreate,也就是说用红米时,当我们开启相机程序时,我们自己的Activity已经被销毁了! 所以当相机程序返回我们的Activity时,这个Activity是刚刚创建的,我们刚刚为图片创建的路径记录变量此时其实并没有被赋值。

3.解决方式 调用安卓相机闪退(安卓拍照闪退)

既然变量有可能丢,那么我们就可以把这个变量记录下来,可以使用sp等。假如我们的程序中还需要记录一些其他的变量,比如一些我们自定义的比较复杂的类,sp就没办法满足存储的需要。

此时我们可以使用如下两个方法

这两个方法并不是Activity每次都会调用的,我们注意到onCreate和onRestoreInstanceState都有个Bundle类型的参数,那么这个参数是谁传来的呢?肯定是onSaveInstanceState传来的。

当我们的Activity在未经我们自己finish的情况下被结束(没有被回收也会执行onSaveInstanceState),onSaveInstanceState方法就会被调用。此时我们就可以利用outState参数来存储我们的数据,当onCreate或者onRestoreInstanceState(只有Activity被真正回收后才调用)时,将这些数据拿出来重新赋值给我们的成员变量,这样,就算是Activity被销毁了,我们依然可以重新获得相关变量的值。

这样,mPictureCachePath的值就可以被保存下来,当程序返回时,如果Activity没有被回收,则不会执行onRestoreInstanceState方法,如果被回收了,就调用onRestoreInstanceState方法对变量值进行恢复。

版权声明:本文为博主原创文章,未经博主允许不得转载。

安卓上传本地图片闪退 1.现象当我们在app上上传一些安卓的本地图片时,有时当上传某些图片时会莫名其妙的闪退,而检查时发现并没有oom异常。同样上传一些类似的图片却可

安卓自定义状态栏颜色以与APP风格保持一致 我们知道IOS上的应用,状态栏的颜色总能与应用标题栏颜色保持一致,用户体验很不错,那安卓是否可以呢?若是在安卓4.4之前,答案是否定的,但在4.

安卓调用系统ContentProvider模糊查找联系人 prename=codeclass=java//模糊查找联系人bt_fu.setOnClickListener(newOnClickListener(){publicvoidonClick(Viewv){Stringname=null,number=null,email=null;ContentResolvercr=getContentResolver();String

标签: 安卓拍照闪退

本文链接地址:https://www.jiuchutong.com/biancheng/382162.html 转载请保留说明!

上一篇:关于 UNITY3D接入 SHARE SDK 安卓微信部分(不跳审核)的注意点!(unity接入第三方sdk)

下一篇:安卓上传本地图片闪退(安卓手机怎么导入地图)

  • 增值税税率
  • 企业所得税纳税人
  • 3901100090的暂定税率
  • 土地增值税会计核算
  • 金蝶eas怎么用
  • 企业购买银行理财的条件
  • 公司给员工报销话费怎么做账
  • 生活记账技巧
  • 用自产货物用抵债交换是否视同销售
  • 转让房产收取的增值税
  • 原始凭证包括会计档案吗
  • 结存材料应分摊什么
  • 计提贷款损失准备金遵循以下原则
  • 利润是负数如何计算利润率
  • 淘宝企业店铺是工厂直销吗
  • 公司购买的冰箱供员工使用
  • 物业公司代收水费合理吗
  • 纳税人提供植物养护服务按照什么服务缴纳增值税
  • 没有库存先开票再发货
  • 法人往公户转账需要备注吗
  • 水资源税计入会计科目
  • 货物退回发票冲红会计分录
  • 公司购买理财产品计入什么科目
  • 审计的内容是什么
  • 残疾人就业保障金是什么意思啊
  • 策划公司费用怎么算
  • 主营业务收入科目应按什么进行明细核算
  • 汇算清缴租赁费包括物业管理吗
  • 企业抄报税怎样操作
  • thinkpad预装的office怎么激活
  • 企业办理银行结汇流程
  • PHP:ftp_get_option()的用法_FTP函数
  • 债务重组法律服务方案
  • 账务处理程序有什么
  • info是什么软件
  • 应收账款减值损失的核算方法
  • 租入固定资产改建支出何时开始摊销
  • 按税收的计税依据为标准税收分为
  • 缴纳个税时怎么做分录
  • 加拿大巨石
  • php编程技术
  • 阿尔卑斯山百度百科
  • thinkphp案例
  • 支付属于借方吗?
  • 工作服列支什么科目
  • iframe嵌套页面点击里面的按钮
  • sklearn average precision
  • 个人所得税生产经营所得B表
  • 采购货物没有发票开出去有发票有什么风险
  • 已经经营中的企业有哪些
  • 企业按季度交税
  • 主营业务收入明细科目
  • 支付定金的账务怎么处理
  • 财税人员岗位职责
  • 单位收风险金违法吗
  • 财产转让收入属于什么收入
  • 企业间借款利息涉税处理
  • 分公司注销余额转总公司会计分录
  • 转出未交增值税借方余额表示什么
  • 年末本年利润怎么转到未分配利润
  • 结账时如何划线进去
  • sql2000卸载干净
  • 播放器状态
  • eudcedit.exe
  • shwicon.exe - shwicon是什么进程 有什么用
  • win7自动关闭显示器
  • js信息框
  • Node.js中的全局对象有
  • 在指定目录查找的文件
  • 常用的批处理文件
  • js 竖线
  • jquery教程 csdn
  • unity3d文件怎么查看和修改
  • python 元类的作用
  • python入坑指南
  • 甘肃税务局电子税务局客服电话
  • 一季度土地市场
  • 2020年海南个人所得税新规定
  • blueerdos和鄂尔多斯区别
  • 欠税多少构成犯罪
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设