uni-app 小米9手机拍照或者拍视频会重启app

uni-app 小米9手机拍照或者拍视频会重启app

uni-app,在小米9上调用摄像头会重启应用,选择相册不会,安卓9,清除后台运行的app后再试也是这样,有时候第一次正常,然后再退出,再进入app,拍照又会重启,hbuilder是3.3.13,alpha版本3.4.5也试过了都不行,并且uni-app官网的app示例也是这样。

图片

16 回复

截图手机系统信息

更多关于uni-app 小米9手机拍照或者拍视频会重启app的实战教程也可以访问 https://www.itying.com/category-93-b0.html


已上传

回复 niupengyuan: 好 我找下相同设备测试下

回复 DCloud_Android_ST: 好的 谢谢

回复 DCloud_Android_ST: 你好,有结果了吗

回复 niupengyuan: 你看下你手机有没有系统更新 问题复现了 不过更新系统后就不存在问题。 应该是系统的bug

回复 DCloud_Android_ST: 是小米系统还是安卓系统更新

回复 DCloud_Android_ST: 小米9最新的miui版本是12.5.6.0

回复 niupengyuan: miui的系统 我在小米官方云测平台测试了不少手机都没有问题。你测试下其他设备看看。目前看是系统bug引发的问题

回复 DCloud_Android_ST: 这个手机不在我这里是客户的,但是他的小米系统已经是最新的版本了

回复 niupengyuan: 嗯 目前云平台就一台小米9se能复现问题 不过也提供系统更新了 这问题我们也会跟进 但根本问题还是miui系统自身问题导致的。暂时还没有修复方案

回复 DCloud_Android_ST: 但是手机上是无法再更新版本的吧

回复 DCloud_Android_ST: 让客户再更新版本说的是已经是最新版本了

回复 niupengyuan: 我认为我说的已经很清楚了 现在没有解决方案

回复 DCloud_Android_ST: 我想问 你说的 “不过也提供系统更新了”,是在那提供的

uni-app 开发中,遇到小米9手机拍照或拍视频时应用重启的问题,可能是由于以下原因导致的:

1. 内存不足

  • 原因:拍照或拍视频时,系统需要分配大量内存来处理图像或视频数据。如果应用内存占用过高,系统可能会强制关闭应用以释放内存。
  • 解决方案
    • 优化应用的内存使用,减少不必要的内存占用。
    • 在拍照或拍视频时,尽量减少其他后台任务的内存占用。

2. 相机权限问题

  • 原因:如果应用没有正确获取相机权限,可能会导致应用崩溃或重启。
  • 解决方案
    • 确保在 manifest.json 中正确配置了相机权限:
      {
        "permission": {
          "scope.camera": {
            "desc": "需要访问相机以拍照或拍视频"
          }
        }
      }
      
    • 在代码中动态请求相机权限:
      uni.authorize({
        scope: 'scope.camera',
        success() {
          console.log('相机权限已授权');
        },
        fail() {
          console.log('相机权限未授权');
        }
      });
      

3. 相机 API 使用不当

  • 原因:在使用 uni.chooseImageuni.chooseVideo 时,如果参数配置不当,可能会导致应用崩溃。
  • 解决方案
    • 确保正确使用 uni.chooseImageuni.chooseVideo API,并检查参数配置。
    • 例如,使用 uni.chooseImage 时:
      uni.chooseImage({
        count: 1, // 默认9
        sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
        sourceType: ['camera'], // 可以指定来源是相册还是相机,默认二者都有
        success: function (res) {
          console.log(res.tempFilePaths);
        },
        fail: function (err) {
          console.log(err);
        }
      });
      

4. 系统兼容性问题

  • 原因:某些手机型号(如小米9)可能存在系统兼容性问题,导致应用在调用相机时崩溃。
  • 解决方案
    • 更新 uni-app 框架到最新版本,确保兼容性。
    • 在小米9手机上测试时,尝试使用不同的相机 API 或参数配置,看看是否能解决问题。

5. 日志分析

  • 原因:应用崩溃时,可能没有足够的日志信息来定位问题。
  • 解决方案
    • 使用 uni.getLogManager 获取日志信息,分析崩溃原因:
      const logger = uni.getLogManager();
      logger.log('应用崩溃日志');
      

6. 硬件加速问题

  • 原因:某些手机在启用硬件加速时,可能会导致应用崩溃。
  • 解决方案
    • 尝试禁用硬件加速,看看是否能解决问题:
      uni.setEnableDebug({
        enableDebug: false
      });
      

7. 应用崩溃监控

  • 原因:应用崩溃时,可能没有及时捕获异常。
  • 解决方案
    • 使用 uni.onError 捕获全局异常:
      uni.onError(function (error) {
        console.error('捕获到全局异常:', error);
      });
回到顶部