这种情况应和所谓的内存不足关系不大,很少有程序会在初始化时载入大量内容导致崩溃,并且这类问题也很容易在开发阶段被发现,所以内存不足造成秒退的可能性低(内存不足退,通常是程序用了一段时间,切换了几个画面以后发生的)。

  而且秒退是发生在程序刚刚启动的时候,在开发、苹果审核阶段都没有被发现的最大可能性就是,这个问题只会发生在老版系统、老版机型上。

  对于很多开发者(尤其是个人开发者),进行所有 iOS 版本,所有 iOS 机型覆盖测试是有难度的, 苹果 审核时也只是重点审核该应用在新机器、新版本下的运行情况,并不关注老系统。所以这也就是为什么会秒退的程序竟然也能通过苹果的审核。

  在新 iOS 上正常的应用,到了老版本 iOS 上秒退最常见原因是系统 动态链接库 或Framework无法找到。这种情况通常是由于 App 引用了一个新版操作系统里的动态库(或者某动态库的新版本)或只有新 iOS 支持的 Framework,而又没有对老系统进行测试,于是当 App 运行在老系统上时便由于找不到而秒退。解决办法是等开发人员发现这个问题后升级程序,或由用户自行升级其操作系统。

  还有一种常见的秒退是程序在升级时,修改了本地存储的 数据结构 ,但是对用户既存的旧数据没有做好升级,结果导致初始化时因为无法正确读取用户数据而秒退。这类问题通常只需删除程序后重新安装一遍就能解决。但缺点是用户的既存数据会丢失——就算有 备份 可能也无济于事,因为备份下来的旧数据还是无法被正确升级。如果旧数据非常重要,那么就需要联系开发人员要求其进行程序修正了。

  另一种已经变得不那么常见的秒退原因是 App 的设置不正确。例如在编译时没有编译 ARMv6 的版本,但是设置里却允许该 App 运行在 ARMv6  处理器 的机器上(如:iPhone 1代,iPhone 3G,iPod  touch  1、2代和3代8G版)。这个问题除了等开发人员升级外用户自己没什么办法解决。当然愿意换台新机器是最好的 ;) 这个问题目前已经能够在提交应用至 App Store 的时候被检查出来了,因此今后应该不太常见了。

  还有一类秒退或是用到 App 里某个功能后必退的原因,是开发时用到了只有新版操作系统才支持的某个方法,而又没有对该方法是否存在于老系统中做出判断。例如程序启动时用到了 Game Center,而没有判断用户的机器是否支持 Game Center,于是就秒退了。

  主要的秒退情况就是这么几个,这些都是以该 App 新版系统上能正常跑为前提的。

  诸如内存不足、BAD_ACCESS 这类问题通常不管在新旧 iOS 上都会存在,如果是由于这类问题造成的秒退通常都能在测试和审核阶段被发现,因此并不常见。

iOS中app启动闪退的原因相关推荐

  1. docker中mysql数据库闪退的原因

    docker中mysql数据库闪退的原因 问题描述 可能原因 其他 更新 问题描述 在dockers中启动mysql容器,使用docker ps 发现没有正在启动的容器,使用 docker ps -a ...

  2. 查查移动端app运行闪退的原因

    最近项目总是闪退,记录一下,查查各种该死原因,优化下自己的代码,又往架构师走近了一步呐(才怪).路过的大佬还有其他的,可以留言学习学习 空指针:对象在没有初始化情况下就使用: 死循环:没有合理的循环控 ...

  3. Zookeeper启动闪退可能原因及解决方案

    目录 1.问题现象 2.问题原因 3.解决办法 在windows下执行zkServer.cmd启动Zookeeper闪退,可以在启动脚本添加一行pause让窗口不消失,方便查看报错信息 主要有以下两种 ...

  4. Tomcat启动闪退的原因和解决方法

    作者:来个地瓜 来源:CSDN 原文:https://blog.csdn.net/qq904069486/article/details/80909780 版权声明:本文为博主原创文章,转载请附上博文 ...

  5. Tomcat使用startup.bat启动闪退的原因

    1.第一点原因可能是java的环境变量没有配置好 解决方法:到系统变量配置进行3个配置: 新建一个变量名为classpath,变量值为 .;%JAVA_HOME%\lib\dt.jar;%JAVA_H ...

  6. tomcat启动出现闪退_tomcat启动闪退怎么办

    Tomcat启动闪退的解决方法:1.打开系统环境变量,添加JAVA_HOME和JRE_HOME变量:2.在cmd中使用netstat -ano命令查看占用8080端口的进程,在任务管理器中将它关闭. ...

  7. Windows Tomcat安装配置,Tomcat 启动闪退,Tomcat中文乱码解决

    ================================ ©Copyright 蕃薯耀 2021-12-29 ​​​蕃薯耀的博客_CSDN博客 一.Tomcat 启动闪退问题描述 apache ...

  8. ios 闪退的原因及解决方案

    iOS程序闪退的原因以及处理办法 iOS程序闪退是一种比较常见的现象.闪退的情况很多,造成程序闪退的原因也很多. ================================启动时闪退====== ...

  9. iOS程序闪退的原因以及处理办法

    iOS程序闪退是一种比较常见的现象.闪退的情况很多,造成程序闪退的原因也很多. ================================启动时闪退======================= ...

最新文章

  1. Python实现信息自动配对爬虫排版程序
  2. 打开计算机硬盘有声音,开机时硬盘会发出声音了,怎么办
  3. 运维人员 | 需要了解的数据中心的网络威胁
  4. python多线程用法及与单线程耗时比较
  5. React-Native系列Android——Native与Javascript通信原理(一)
  6. 汇编语言的准备知识--给初次接触汇编者 之三
  7. 使用date命令来修改系统日期与时间
  8. 【渝粤教育】国家开放大学2018年春季 7394-22T政府公共关系 参考试题
  9. openGauss凝聚创新力量,云和恩墨MogDB加速社区发展
  10. OpenShift 4 之Istio-Tutorial (3) 监控微服务运行
  11. oracle查锁及解锁命令
  12. 【黑马JS笔记】JavaScript基础语法
  13. bellman ford优先队列优化简介模板
  14. 13个Python小游戏(含源码),开始敲起来,玩吧!
  15. python计算器功能介绍_python计算器功能如何实现?这篇文章给你最实用的代码
  16. 获取京东JDCookie
  17. 数据不落地、移动新应用、安全更可靠
  18. 正则解决大写金额转换
  19. 【Ubuntu】查询显卡型号
  20. 剑指offer55 二叉树的深度 捏软柿子

热门文章

  1. 3.3 典型交易流程
  2. 嵌入式软件工程师笔试面试指南-Linux驱动
  3. taro 项目中接入EChart图表库
  4. 京东面经!让你的春招不再迷茫!
  5. 串级PID的直立控制
  6. c++bitset用法详解(超简单)——蒟蒻函数
  7. python基础编程(Ⅲ)
  8. Dearpygui制作Linux上SSD测试工具集合
  9. 【php-fpm】重启、启动、关闭
  10. Mac M1系统 miniconda安装、配置conda环境,及在conda环境中安装激活QIIME2