问题描述:
  部分手机频繁闪退的问题。比如:vivo y55a,在升级、交任务、穿戴装备等都有概率闪退... 表现:
  卡几帧就马上闪退。
  在学习技能、穿戴装备、升级等概率出现,新角色第3个任务“拦截少年”完成后指引穿戴武器后大概率闪退,这时同时还预加载2个剧情资源,处理较多事情。
  闪退日志:Skipped 62 frames! The application may be doing too much work on its main thread,主线程做了太多事

解决历程:

  最开始以为单帧处理东西太多,但这个手机之前在单帧处理大量消息时都没闪退【PS:1秒1000多条消息都处理过来了,虽然后面优化了,不是这个数量级了】。所以逻辑处理能力应该不错,后来发现每次出现“战力提升”这个特效时就概率闪退。至于怎么发现是特效,这个是不停尝试和打log试出来的,这个过程比较痛苦,不细说了,特效拿掉之后就不闪退了。   既然定位到特效,就检查特效资源:
  1.先查是否挂了异常脚本,然没有。
  2.那就可能是shader了。   这个设备默认是低配选项,无意发现手动切换成其他配置时,不会崩溃,那就是跟shader设置有关了,我们在切换配置的时候,会修改shader的LOD!而低端配置LOD为100!
  问题越来越清晰了,那就查这个特效引用的shader的LOD处理。发现其中用到一个shader,它的Subshader最低是200,而Fallback又没配置!意味着低端的话,这个shader没有执行逻辑!而这就是导致概率崩溃的最大元凶。

  最后改法,将最低LOD 200改为LOD 100,问题解决了。

Andriod部分手机频繁闪退,vivo y55a等,Skipped 62 frames! The application may be doing too much work on its main thread的更多相关文章

  1. 苹果手机 微信调用百度地图Javascript API 频繁闪退问题

    最近在网页中调用百度地图API js大众版,但是在IOS8系统中,缩放的时候频繁闪退,安卓手机没有这个问题! 在网上查询了下,有网友回答说不要频繁的去new marker,而是初始化话一定量的mark ...

  2. ionic1使用imagepicker在安卓手机上闪退问题

    在上一篇文章中,提到了如何在ionic1中使用imagepicker插件,并且实现该插件显示中文(汉化)问题有兴趣可以看看:ionic1使用ImagePicker插件并且显示中文(汉化) 1.这次要解 ...

  3. 关于极光推送在手机系统低于iOS10的手机上闪退的问题。

    最近项目中用到了极光推送,升级到了最新的SDK 2.1.9版本,发现只能在iOS10 上运行,其他测试的时候真机闪退.贴上一个可能的原因:

  4. 180508 - 解决有关VIVO的2018-04-01安全补丁导致的APP闪退问题

    解决有关VIVO的2018-04-01安全补丁导致的APP闪退问题 [√]问题原因猜测4: 最终解决方案 [√]问题原因猜测3: 尝试解决 [√成功] [×]问题原因猜测2: 尝试解决 [×失败] [ ...

  5. 华为手机 android8.0APP更新时出现安装包解析异常的提示及安装闪退(无反应)问题

    在做android app升级更新时遇到几个问题,我用的测试机是华为V10 系统为8.0 一.安装闪退(无反应) 解决办法: 只要在Mainfest.xml 中加入权限编码即可解决 <uses- ...

  6. 【走过巨坑】android studio对于jni调用及运行闪退无法加载库的问题解决方案

    相信很多小伙伴都在android开发中遇到调用jni的各种巨坑,因为我们不得不在很多地方用到第三方库so文件,然而第三方官方通常都只会给出ADT环境下的集成方式,而谷歌亲儿子android studi ...

  7. Xcode7打包,iOS9真机闪退,如何解决?

    问:有些项目用xcode7打开运行,打包安装到iOS9设备上程序会闪退. 如果用xcode7以下编译,然后打包到iOS9的设备上就是正常的.这是为什么,关键是,怎么解决? 答:iOS9发布之后,有些a ...

  8. Android常见崩溃或闪退的问题描述及原因总结、及与性能相关的模块——持续更新

    1.nullpointer——就是使用一个对象的时候还没有对其进行初始化导致该问题 一般在何种情况下容易出现呢? (1)父窗口+子窗口同时出现的,父窗口因为某种原因消掉了,子窗口还在,操作子窗口找不到 ...

  9. 神秘代码让iPhone微信闪退的解决方法

    14号晚,很多人的微信朋友圈中出现了这样几句话“听说苹果手机点全文就会闪退”,下方有好几行空白,需要点击“全文”才能看到,但是一旦你是在iPhone手机微信上点击“原文”后就直接闪退了,而用Andro ...

随机推荐

  1. linux查看某个端口被哪个程序占用

    查看某个端口被哪个程序占用 netstat  -anp  |grep   端口号 查看进程号对应的程序 ps -ef | grep 17997 查看指定端口号的进程情况 netstat -tunlp

  2. HDU - 6321 Problem C. Dynamic Graph Matching (状压dp)

    题意:给定一个N个点的零图,M次操作,添加或删除一条边,每一次操作以后,打印用1,2,...N/2条边构成的匹配数. 分析:因为N的范围很小,所以可以把点的枚举状态用二进制表示集合.用一维数组dp[S ...

  3. Linux时间设置与iptables命令

    日期与时间设置 timedatectl:显示目前时区与时间等信息 [root@localhost zhang]# timedatectl Local time: Thu 2018-01-18 10:1 ...

  4. #define只有一个参数

    define后面只有一个名字,那么这个宏是空的,不会对代码产生影响. 用来便于阅读的

  5. 配置zabbix_server通过zabbix_proxy进行监控Host

    zabbix_server添加proxy并监控主机 zabbix分布式监控系统安装配置:http://www.cnblogs.com/LuckWJL/p/9037007.html 安装配置zabbix ...

  6. Linux下使用USB模拟ACM串口设备【转】

    本文转载自:https://www.cnblogs.com/pied/p/4549614.html 这个想法之前就在脑袋里有过,最近公司产品要用到,所以多做了些了解. 1. USB 简介 USB 是 ...

  7. Maven 的41种骨架功能介绍

    1: internal -> appfuse-basic-jsf (创建一个基于Hibernate,Spring和JSF的Web应用程序的原型)  2: internal -> appfu ...

  8. Linux 设备驱动之 UIO 机制

    一个设备驱动的主要任务有两个: 1. 存取设备的内存 2. 处理设备产生的中断 对于第一个任务.UIO 核心实现了mmap()能够处理物理内存(physical memory),逻辑内存(logica ...

  9. Eclipse的编码格式设置

    在使用Eclipse开发中,许多文件编码默认是ISO-8859-1,不支持中文(如常用的JSP).这样我们每次建文件都要手动改编码,其实我们可以在设置文件默认编码,今后再创建时就不用每次修改编码了, ...

  10. Ubuntu 18.04 下 emscripten SDK 的安装

    Ubuntu 18.04 下 emscripten SDK 的安装http://kripken.github.io/emscripten-site/docs/getting_started/downl ...