手机游戏闪退,想保有原来上古卷轴5脱装备闪退,怎么办?

当前位置:
&&&手机玩游戏都闪退怎么办?手机游戏闪退常见的几种原因以及解决办法
手机玩游戏都闪退怎么办?手机游戏闪退常见的几种原因以及解决办法
现在PC平台网游除了守望先锋、魔兽世界之外,最火的无疑就是英雄联盟(LOL)。而腾讯更是推出了LOL的手游版&&王者荣耀,现在不少年轻人喜欢上了这款游戏,而小编自己也不例外。可是有时候玩到高潮,游戏就直接自己闪退了!!@#¥%&&这到底是怎么回事?
闪退对于小编来说是坚决不能忍受的,为此小编就去搜寻了闪退的原因以及解决办法。相信大家看了这篇文章后,再也不用担心玩手机打游戏闪退了。
1.游戏应用与系统不兼容
游戏应用就与系统不兼容导致闪退的原因也有两种。第一种是游戏应用本身版本太低,在长时间闲置应用后,打开游戏一般都会直接闪退而不会自动更新,因为游戏很少有跨几个大版本的更新包。
第二种原因就是手机系统的版本太低,导致游戏与系统不兼容。比如当初Android 2.3上的应用,放在如今的Android 6.X上基本上都会有不兼容的情况发生。同样的,iOS的应用或多或少也对iOS版本有要求。
 解决方法:游戏应用版本太低,可以先卸载再重新下载最新版本;而手机系统版本太低则需要更新了,假如你的手机不支持升级到新版本系统,那就趁机换个手机吧。
2.程序互相冲突
游戏程序与其他正在开启的应用有冲突,就会出现一开启就闪退的情况,或者冲突应用自启也会发生这样的情况。安卓手机这一点就是让人有点讨厌啊,不过这是可以用安全软件来限制的。
  解决方法:从后台查看正在运行的应用程序,找到互相冲突的应用并关闭,重新启动游戏应用就可以了。
3.手机后台运行程序过多
说到这里就不得不提安卓内存的回收机制,Android的内存管理机制是有多少内存就用多少内存,空闲内存全部当缓存。也就是说当一个进程停止活动,Android会把进程保留在内存里,这样下次启动时就会非常快。但如果系统当前可用内存不足,启动一个大型游戏后,Android会在后台自动判断并帮你关闭一批后台程序,以便释放足够的内存运行新的程序。
因此很多机友经常没有真正退出一个应用程序,而是习惯性地返回到桌面,而程序其实还在后台运行着,当后台运行程序过多时就很可能会导致闪退的现象。此外程序过多还会导致一个现象:当你切出游戏打开别的APP订个外卖什么的,再切回来发现游戏竟然要重新运行。这个原因也是因为后台程序过多,当你切出来打开别的应用,激发了安卓系统的回收机制,把游戏给杀掉提供RAM给新程序了。
  解决方法:不使用某个程序时要退出,有空要常清理后台运行软件,在权限管理中禁止自启动不常用的应用,另外几乎没用过的软件就卸载了吧。
4.手机应用缓存过多
当我们刷等各种APP时,无形之中就缓存了许多图片和各类文件,这些文件数据就是缓存垃圾。如果长期不清理缓存会导致内存爆满,手机越来越卡,并且也会出现闪退的情况。
解决方法:现在手机厂商出厂的ROM一般都会搭载内存管理软件,利用厂商搭载清理软件把手机上所有APP的缓存垃圾清理一遍。如果没有的话可以去网上下载第三方清理软件,找到出现状况的应用程序,清理缓存或数据。不过在这里清除数据有可能会清除掉应用的个人设置,账户信息等。
5.缺少数据包
安卓的大型游戏一般分为两个部分,主程序和数据包,主程序安装包一般在几十M到几百M之间,而数据包往往达到1GB甚至更多。安卓的大型游戏安装过程一般是先安装主程序,然后再启动游戏APP自动下载数据包。
然而这种模式会导致诸多不稳定,闪退就是其中最频繁的错误,特别是在破解版游戏中普遍存在。许多游戏特别是破解版,在启动APP后会被绕过检查是否有数据包,这种情况下如果你没有自行下载数据包的话,一般就会出现闪退。
解决方法:遇到这种情况要先到下载平台下载数据包,放在每个游戏的指定位置,安卓一般是放在内存根目录下,然后再运行游戏一般可以得到解决,此方法较复杂。而电脑上可以通过下载电脑版电脑管家然后再打开电脑管家&&软件管理&&安卓游戏&&右上角搜索游戏名称,然后点击下载,电脑管家会自动下载好该游戏和数据包,然后自动安装到您的手机中。
6.网速不稳定 / 过慢
随着网络技术的飞速发展,2G到4G仅仅用了几年时间,网速从蜗牛般的几十KB/s跃进到了几M/s,网速延迟也提升到了几十ms以内。顺应随着发展而来的有实时视频、实时对战游戏等,这些实时反应APP对手机网速的要求极高,有些应用需要一个稳定的网络环境才能运行得起来,如果使用2G/3G网络或者WiFi不稳定的情况下造成闪退的可能性也很大。
解决方法:对于一些对网络要求比较高,如多游戏、视频、音乐等这类应用,建议在WiFi或4G情况下运行,如果WiFi不稳定则要检查路由器。
7.ROOT后修改文件
ROOT对于安卓手机用户来说肯定不是一个陌生的名词。无论是你普通用户,还是一名热爱刷机、玩机的发烧友,都肯定对ROOT有所了解。许多机油拿到手机的第一时间就是对手机进行ROOT,然后对系统进行各种自定义美化、修改等操作,可以说是有着满满的成就感。
ROOT权限为广大的用户和玩机爱好者提供了方便,可以直接对手机系统进行一些高权限的修改。开启了手机ROOT权限之后,就能实现原本没有的功能,如系统截图、更改运营商信息、卸载预装应用和自定义美化等等。可以说&无ROOT不安卓。&但ROOT权限也是一把双刃剑,虽然能给我们在使用手机时带来方便和一些原本系统没有的功能,由于ROOT权限是可以直接对手机系统里面的内部文件进行修改,所以还是会带来比较大的隐患的。
ROOT对手机应用闪退方面也有一定的影响。比如在美化字体时,第三方替换进来的字体往往会字库不全,应用程序就无法获取应有的字库,导致手机应用闪退。此外ROOT后或多或少影响到底层文件,比如ROOT后可能删除了程序所需的关键系统文件,导致程序无法正常运行。
解决方法:如果是字体缺失所导致的应用闪退,可以替换回原来的字库。如果是误删关键应用则可以上网下载机型对应的文件放回原来的文件,较为复杂。简单明了的修复是刷一次机,最好是刷官方的ROM。并且非发烧友最好不好开启ROOT,ROOT风险大。
8.国内手机没有谷歌市场
众所周知,六年前Google甩头离开。导致国内从此无法再使用谷歌市场,而许多大型游戏的运行前提,就是需要手机内装有谷歌市场,否则就会闪退。至今为止,谷歌也并没有开放中国区PLAY市场的软件购买功能,所以中国区市场只允许免费软件存在。
至于切换到国外市场,这需要你通过VPN或者其他代理方式获取其他国家IP,因为谷歌的市场定位是通过你的IP地址来执行的。
  解决方法:买VPN软件伪装成外国IP地址,再访问谷歌商店,俗称翻墙。不差钱的用户,更简单粗暴的方法是买iPhone,毕竟Apple Store在国内可以让你尽情使用。
闪退,让游戏归于尘埃,让乐趣戛然而止,让机油暴跳如雷。闪退就是手机发烧友的噩梦,多少人因为安卓手机闪退而忍痛割爱投入iPhone的怀抱。知己知彼,百战不殆,在看了本文闪退的原因,再对症下药。安卓手机能让我们尽情领略到玩机的乐趣。
Ta的热门文章
7人申请铂沃智能香氛空气净化器ISR16
965人申请MUKO 耳机GunD系列H893/GD750
1092人申请乐视头戴蓝牙耳机C50
1419人申请魅蓝5s
1552人申请酷乐视Q7
¥249熊大大: 石墨烯快充充电宝 自带充电头
¥79【EBER】EBER H3mini智能体脂秤:解析身体的秘密
¥1999【小吉】小吉迷你滚筒洗衣机:小身材 大讲究
¥3199【大朋VR】大朋VR一体机M2 Pro:让想象触手可及
¥228【空气净化灯】聪明一休空气净化灯:不光能照明,净化能力也够牛!
你还可以分享到以下地方,获得10蘑菇参与!
免费试用:
微信添加"亿智蘑菇"获取我们的服务
微博添加"亿智蘑菇"获取我们的服务
下次自动登录
使用第三方登录当前位置: &
技术贴:手游频繁崩溃”闪退”的原因是什么?
技术贴:手游频繁崩溃”闪退”的原因是什么?
发表时间: 14:57:04
来源:优游网 发布:卡布奇诺
作为玩家,当游戏crash的时候是什么心情,如果这个游戏玩起来还不错的话,那我可能还会打开第二次,如果这个游戏一般的话我可能直接怒删了。当多次出现闪退crash的时候,这种糟糕的体验很容易让用户流失,造成很大的损失。但是作为测试人员,面对如此棘手的事情,首先要做的是协助开发组解决问题。没错,第一件要做的事情就是去定位crash发生的代码逻辑,到底是哪个文件的哪一段函数逻辑导致了这个crash问题。因此,我们需要去尽量重现crash场景,收集解析crash日志,以此定位到具体到游戏代码逻辑中寻找导致crash的原因,改善项目的质量和体验。本文阐述在App crash产生的原理,收集和解析过程,旨在经验积累,与大家分享。
一.crash产生的原因
当iOS/Android设备上的App应用闪退时,操作系统会生成一个crash日志,保存在设备上。crash日志上有很多有用的信息,比如每个正在执行线程的完整堆栈跟踪信息和内存映像,这样就能够通过解析这些信息进而定位crash发生时的代码逻辑,从而找到App闪退的原因。通常来说,crash产生来源于两种问题:违反iOS系统规则导致的crash和App代码逻辑BUG导致的crash,下面分别对他们进行分析。
1.1违反iOS系统规则包括三种类型:
(1) 内存报警闪退
当iOS检测到内存过低时,它的VM系统会发出低内存警告通知,尝试回收一些内存;如果情况没有得到足够的改善,iOS会终止后台应用以回收更多内存;最后,如果内存还是不足,那么正在运行的应用可能会被终止掉。在Debug模式下,可以主动将客户端执行的动作逻辑写入一个log文件中,这样程序童鞋可以将内存预警的逻辑写入该log文件,当发生如下截图中的内存报警时,就是提醒当前客户端性能内存吃紧,可以通过Instruments工具中的Allocations 和 Leaks模块库来发现内存分配问题和内存泄漏问题。
(2) 响应超时
当应用程序对一些特定的事件(比如启动、挂起、恢复、结束)响应不及时,苹果的Watchdog机制会把应用程序干掉,并生成一份相应的crash日志。这些事件与下列UIApplicationDelegate方法相对应,当遇到Watchdog日志时,可以检查上图中的几个方法是否有比较重的阻塞UI的动作。
application:didFinishLaunchingWithOptions:
applicationWillResignActive:
applicationDidEnterBackground:
applicationWillEnterForeground:
applicationDidBecomeActive:
applicationWillTerminate:
(3) 用户强制退出
一看到&用户强制退出&,首先可能想到的双击Home键,然后关闭应用程序。不过这种场景一般是不会产生crash日志的,因为双击Home键后,所有的应用程序都处于后台状态,而iOS随时都有可能关闭后台进程,当应用阻塞界面并停止响应时这种场景才会产生crash日志。
这里指的&用户强制退出&场景,是稍微比较复杂点的操作:先按住电源键,直到出现&滑动关机&的界面时,再按住Home键,这时候当前应用程序会被终止掉,并且产生一份相应事件的crash日志。
1.2应用逻辑的Bug
大多数闪退崩溃日志的产生都是因为应用中的Bug,这种Bug的错误种类有很多,比如
SEGV:(Segmentation Violation,段违例),无效内存地址,比如空指针,未初始化指针,栈溢出等;
SIGABRT:收到Abort信号,可能自身调用abort()或者收到外部发送过来的信号;
SIGBUS:总线错误。与SIGSEGV不同的是,SIGSEGV访问的是无效地址(比如虚存映射不到物理内存),而SIGBUS访问的是有效地址,但总线访问异常(比如地址对齐问题);
SIGILL:尝试执行非法的指令,可能不被识别或者没有权限;
SIGFPE:Floating Point Error,数学计算相关问题(可能不限于浮点计算),比如除零操作;
SIGPIPE:管道另一端没有进程接手数据;
常见的崩溃原因基本都是代码逻辑问题或资源问题,比如数组越界,访问野指针或者美术资源不存在,或美术资源大小写错误等,这种问题的类型有很多,不再详细介绍。
二.crash的收集
上文提到crash日志是操作系统层产生并保存在设备上的,那如果我的一台设备在运行某App的时候crash了,可以通过什么方式拿到crash日志呢。如果是在windows上你可以通过itools或pp助手等辅助工具查看系统产生的历史crash日志,然后再根据app来查看。如果是在Mac 系统上,只需要打开xcode-&windows-&organizer-&devices,选择device logs进行查看,如下图,这些crash文件都可以导出来,然后再单独对这个crash文件做处理分析。
以上这些是针对能够拿到真机设备的情况下才能收集crash日志的。如果是针对玩家的话,当App在玩家的设备上crash的时候如何收集呢。先来看下市场上已有的商业软件提供crash收集服务,他们这些软件基本都提供了日志存储,日志符号化解析和服务端可视化管理等服务:
Crashlytics ()
Crittercism ()
Bugsense ()
TestFlight ()
HockeyApp (www.hockeyapp.net)
具体这些商业软件有哪些优缺点,有人做了如下统计:
除了上述所说的这些商业软件外,还有一些开源的软件也可以拿来收集crash日志,比如Razor,QuincyKit(git链接)等,这些软件收集crash的原理其实大同小异,都是根据系统产生的crash日志进行了一次提取或封装,然后将封装后的crash文件上传到对应的服务端进行解析处理。很多商业软件都采用了Plcrashreporter这个开源工具来上传和解析crash,比如HockeyApp,Flurry和crittercism等,下图是笔者利用这一开源框架制作的一个收集crash的样例。
通过这种方式就可以很好的支持开发人员收集crash日志的需求,进而定位和解决App产品存在的问题。如果有需要或者感兴趣的可以深入的调研一下。
但是有个很重要的问题就是这种方式只能收集游戏引擎层(c++或object c代码)的逻辑,如果是脚本逻辑问题产生的crash就无能无力了。而现在手游项目基本都是引擎(cocos2dx或Neox)+脚本(lua或javascript)的开发模式,几乎所有的业务逻辑都在脚本层,游戏App时常发生的crash几乎都是由脚本逻辑bug导致的,这该怎么处理呢?平时在开发阶段,程序童鞋在Debug模式下开通了客户端运行日志功能,当出现crash或者traceback等问题的时候直接去查看log文件的输出即可知道原因了,但是在Release模式下一切log输出均被屏蔽,逻辑运行的log消息输出也就无法查看了。这种情况该又该如何处理呢?方法总比问题多,iOS/Android系统提供了异常发生时的处理API,只需要在程序启动的地方加入对应的处理逻辑,当异常发生时就可以触发对应的回调函数将必要的信息进行处理上传,适时地反馈给开发组。比如,下图是某项目组在iOS平台收集crash的一个截图:
其实,它具体的实现原理是这样的:首先,在游戏应用程序启动的地方需要开启异常处理逻辑的handler:
最后需要当crash发生时,需要调用的回调函数处理具体如下:
这样在当玩家在Release游戏版本中出现逻辑异常导致crash时,就会把对应的脚本层的异常(traceback或error等)以类似dump文件的形式发送到指定的服务端,方便运营维护人员进行快速定位分析。这些脚本层异常日志收集后的显示效果如下:
以具体某一个异常日志文件为例,具体上传的内容如下图。这是一种直接可读的文本,里面记录着crash发生时代码逻辑的traceback,通过阅读代码逻辑就可以直接定位到或推断导致crash
以上就是收集crash的方法和原理,通过这种方式收集到crash日志后接下来就可以具体根据日志的内容进行解析来定位到底是什么原因导致的crash。
相关阅读:
H5游戏推荐今日论坛第 1 个签到,每日签到可得财富值+2,连续5天签到后再连续签到则每日可得财富值
+4,记得每天都来签到哦~
上一主题:
下一主题:
查看: 4058 | 回复: 5
昨天把手机恢复出厂设置以后再玩游戏老闪退是什么原因?
财富值 554
交易信用 0
行走天下悟本心
积分/帖子:645
连续签到天数:1
全部签到天数:145
注册时间:
手机型号:
金立GN708W
状态: 离线
昨天把手机恢复出厂设置以后再玩游戏老闪退是什么原因?
如},麻烦高手帮忙解决。谢谢了!
轻轻的我走了,正如我轻轻的来
我挥一挥衣袖,留下一片云彩!
UID 9150309
财富值 1368
交易信用 0
积分/帖子:942
连续签到天数:1
全部签到天数:715
注册时间:
手机型号:
状态: 离线
财富值 1685
交易信用 0
人气值 157
荣誉卸任特殊组
积分/帖子:750
连续签到天数:1
全部签到天数:177
注册时间:
手机型号:
状态: 离线
玩大型游戏吗,需要谷歌
财富值 554
交易信用 0
行走天下悟本心
积分/帖子:645
连续签到天数:1
全部签到天数:145
注册时间:
手机型号:
金立GN708W
状态: 离线
以前不会的,昨天格式了内存,恢复出厂设置,再下游戏玩就闪退
轻轻的我走了,正如我轻轻的来
我挥一挥衣袖,留下一片云彩!
财富值 554
交易信用 0
行走天下悟本心
积分/帖子:645
连续签到天数:1
全部签到天数:145
注册时间:
手机型号:
金立GN708W
状态: 离线
还刷?都刷了2次了,其它方面都没什么,就玩游戏会闪,SD卡,内存卡都还是空的。
轻轻的我走了,正如我轻轻的来
我挥一挥衣袖,留下一片云彩!
财富值 1743
交易信用 0
人气值 450
积分/帖子:1196
连续签到天数:3
全部签到天数:329
注册时间:
手机型号:
状态: 离线
那就是你内存卡有问题,如果没刷机的话
微信扫一扫关注dospy苹果园为iOS用户提供和下载,最新的、、、等,分享最权威的资讯、、及解决办法,拥有最火爆的,苹果园一家专注解决iOS所求的网站。}

我要回帖

更多关于 上古卷轴5捡装备闪退 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信