首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

我在测试中遇到app崩溃的现象怎么办?

首先,崩溃有几种情况: 闪退 提示停止运行 无响应 ( 不同情况虽然没有严格意义上区分开引起原因,但是都有侧重。在之后的工作中,我会实时补充统计。)...方法可以是在抓包工具上打断点,然后不进行继续操作,挺着看app最终会不会崩溃。.../ 要进行手动破坏性测试,1:如删除本地文件,比如app要调取本地缓存的4张图片,在app刚要调用的时候,已经选择好的时候,切换到本地文件管理中,删掉其中一个,那么app就会访问到一个不存在的文件,会引发越界等代码报错...6.第三方问题 [引起原因]:第三方广告的突然弹出/其他app分享进来和出去/各种第三方app的强行抢镜(如抢红包提醒) [测试方法]:在各个页面,手动触发大多数app的 或 本app的外接 广告来测试...7.系统高优先级app问题 [直接原因]:导致自家app突然被挂起或放置后台 [引起原因]:突然来电话,突然收短信,闹钟,会议提醒系统原生app等情况 [测试方法]:在各个页面,功能运行前中后。

1.6K30

在Kotlin踩坑无数的他想聊聊:如何完全使用 Kotlin 独立开发 App

作为一个较早使用 Kotlin 的开发者,刘自鹏踩过的坑可谓是是数不胜数,加上独立开发这样一款精致的 App 的经验,以下针对Kotiln、独立开发以及如何开发出精致的 App 等问题做出的解答,可能会对你深入了解...提问1: 在你看来,除了生态,Kotlin在语言方面还有哪些设计不足?或者说在实际使用中还有哪些需要workaround的方式或者比较丑陋的方法才能实现你所想要的东西?...提问2: 如果Kotlin来开发app,从开发周期,效率来考虑,原生开发,html5混,当下哪种模式相对好一些,当下流行什么样的模式?...3、对于Kotlin这门语言,会不会热过一阵之后,就消声匿迹了呢,它未来的发展,你感觉怎么样? 4、还有App使用kotlin开发,会比Java有什么优势吗?...Kotlin与Java完美的互操作这一点 为Kotlin的社区支持提供了很好的基础, 加上kotlin团队一直以来对开发者需求的快速反应迭代,所以对于Kotlin,至少在Android这个细分领域,我很看好它的未来

1.5K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    kotlin混淆后mapping定位

    大家新年好,这个文章聊下kotlin的mapping文件的定位,以具体一个线上崩溃为例 线上崩溃日志 Caused by: java.lang.IndexOutOfBoundsException: toIndex...i的声明,比如下面这几种,都不是我们要找的i // 这个i是一个Lzay类型的变量 kotlin.Lazy lateSearchRecordAdapter$delegate -> i // 前面的3:4...185行 看下对应的源码 源码这里也有调用到sublist方法,跟崩溃调用的方法一致,于是确定是这里导致的崩溃了 进一步验证 通过源码跟mapping,都可以发现,崩溃的方法是initListShowExpand...(com.ygp.mro.app.search.SearchRecordFragment):0 -> run 6:6:void run():0 -> run 对应的是源码的151行,查看源码,...找到了调用的代码了 所以结果是151行调用initListShowExpand方法,然后在方法内部的185行发生了崩溃

    84510

    给Android程序员的三阶段通关指南:从搬砖到造火箭

    "为什么在我的小米6上又闪退了?" "李哥,这个NullPointerException咋解决啊?"...技术通关秘籍: Java/Kotlin生存技能 掌握if/else的正确打开方式(别笑,真有人写10层嵌套) 熟练使用try-catch捕获异常(但别在循环里乱用) 例子:用Kotlin改写Java代码时...AndroidRuntime是关键) 掌握Android Profiler基础用法(别等到内存泄漏才学) 例子:遇到ANR时,记得导出/data/anr/traces.txt 成长路线: 每年啃完2本技术书(推荐《第一行代码...》《Kotlin实战》) 在GitHub上造轮子(从TODO应用开始) 定期参加线下技术沙龙(记得要讲师PPT) 二、进阶副本:中级工程师(3-5年) 工作日常: "这个页面启动时间要优化到800ms内...: 工具 用途 掌握程度要求 LeakCanary 内存泄漏检测 会看报告定位问题 Charles 网络抓包 能篡改接口数据调试 MAT 内存分析 看懂Dominator Tree Firebase 崩溃监控

    9120

    安卓软件开发:Jetpack Compose、Material 3和Kotlin协程在Android开发协程App

    Kotlin 协程处理并发任务,两个者多个选手的进度同步更新而不阻塞主线程。...Kotlin协程可以做到了,发挥了重要作用,可以实现了非阻塞方式处理后台任务。 性能优化:在不牺牲性能的前提下实现平滑的动画和过渡效果。减少不必要的布局重排和重绘,优化资源加载提高App的响应速度。...错误处理:处理错误和异常是非常关键,为了防止应用崩溃。我实现了全面的异常捕获和处理机制,保证了App的稳定性。 测试和验证:由于涉及到并发和状态变化,编写测试验证应用变得复杂。...用了Kotlin的测试框架(Junit)和协程测试库。 六、学习技术笔记 协程:它们就像后台任务的轻量级线程,在不阻塞主界面的情况下进行计算。...挂起函数:这些函数可以在等待操作(比如网络请求或定时任务)时挂起,不会拖慢整个应用。 协程构建器:比如launch和async,可以帮助App启动和管理协程。

    508235

    Android Hook与简单的xposed模块开发实例

    系统启动时,init.rc脚本启动Zygote进程,使用的是这个被Xposed替换后的/system/bin/app_process。因此,Zygote进程本身就加载了Xposed框架。...如果Xposed框架没有及时更新以适应新的app_process,那么它就可能无法正常工作,甚至导致系统崩溃或bootloop(无限重启)。...Xposed通过替换核心文件app_process工作,这种方式在新的Android系统中容易冲突,导致不稳定甚至崩溃。...通过在arrays.xml中指定应用的包名,Xposed框架能够在这些应用启动时加载你的模块,从而实现对这些应用的hook操作。...: " + lpparam.packageName); }}默认读者有kotlin基础,薄弱的话可以看看官方文档:基本语法 · Kotlin 官方文档 中文版,这里主要介绍引用的模块,首次接触会比较陌生

    7100

    Kotlin编译与Intrinsics检查

    在很早的时候,小黑屋就介绍过如何研究Kotlin,其中涉及到了查看字节码和反编译成Java代码的方式,相信很多人研究过的人,都会或多或少遇到过Intrinsics.checkParameterIsNotNull...dumpStringMessage=" + message; boolean var2 = false; System.out.println(var1); } 反编译后,我们可以看到代码中有这样的一行代码...是的,你的这句话基本上没有毛病,但是有一个前提,那就是空指针和两种类型的特性,目前只在纯kotlin中生效,一旦涉及到和Java交互时,就不灵了。...比如我们在Java代码中这样调用,不会产生任何编译的问题。...class JavaMethod { public void callKotlin() { KotlinCodeKt.dumpMessage(null); } } 得到如下的崩溃日志

    1.6K20

    Duolingo 和 Google Home 的 Kotlin 之旅

    △ Duolingo 代码量随时间的变化,绿色为 Kotlin 团队博客: 将 Duolingo 的 Android 100% 迁移至 Kotlin 总体而言,在迁移到 Kotlin 后,我们非常满意...,也很高兴看到 Kotlin 在我们公司和整个软件行业中的使用率不断增长!...最常见的崩溃直降 33% Kotlin 可助您提高工作效率,让您编写更少的代码来实现更多的功能,这就是您可实现的 "速度" 提升。...例如,使用数据类和 Parcelize 插件:  一个在使用 Java 时需要手动编写 126 行代码的类,现在使用 Kotlin 只需编写 23 行,代码量减少了 80% 。...这是 Google Play 管理中心中最常见的崩溃类型,因此减少此类崩溃可以显著提升用户体验。

    1.2K20

    【Kotlin 协程】协程异常处理 ④ ( Android 协程中出现异常导致应用崩溃 | Android 协程中使用协程异常处理器捕获异常 | Android 全局异常处理器 )

    文章目录 一、Android 协程中出现异常导致应用崩溃 二、Android 协程中使用协程异常处理器捕获异常 三、Android 全局异常处理器 一、Android 协程中出现异常导致应用崩溃 --...-- 在前几篇博客示例中 , 协程中 如果出现异常 , 没有进行捕获 , 则程序直接崩溃 , 这种情况下需要进行 异常的捕获 以 避免 Android 应用程序的崩溃 ; 示例代码 : package...: ① 在 app/main/ 目录下创建 resources 目录 , 在 resources 目录下创建 META-INF 目录 , ② 在 META-INF 目录下创建 services 目录..., ③ 在 app/main/resources/META-INF/services 目录下 , 创建 名称为 kotlinx.coroutines.CoroutineExceptionHandler...MyCoroutineExceptionHandler 全局异常处理器 中处理未捕获异常 , 但是程序依然崩溃 , 可以在 全局异常处理器 中获取到异常信息 ;

    1.6K10

    如何加快Kubernetes中Java启动速度?

    出现这种情况的原因是:Java 应用程序在初始化期间所需的 CPU 资源通常比标准工作期间多得多,解决办法两难: 如果Java应用指定了只适合常规操作的请求和限制,则可能会导致启动时间过长。.../component: background-controller app.kubernetes.io/instance: kyverno app.kubernetes.io/part-of...namespace: demo labels: app: sample-kotlin-spring spec: replicas: 1 selector: matchLabels...: app: sample-kotlin-spring template: metadata: labels: app: sample-kotlin-spring...我们的应用程序启动时间约为 10-15 秒。因此,准备就绪检查也会在开始调用执行器端点(initialDelaySeconds 参数)后等待 15 秒。之后,检查成功结束,我们的容器切换到就绪状态。

    55850

    圆桌讨论:大规模移动开发

    为了在 iOS 和 Android 应用程序中共享业务逻辑和工具,我们也建立了仓库。我们依靠 Sentry 来追踪问题和崩溃,依靠 Google Analytics 来追踪应用的使用情况。...我们研究过 Kotlin 多平台和 Swift,用于我们的 B2B SDK 中的跨平台逻辑,但它们感觉还不够成熟。...在应用层面上,我们研究常见的指标,如崩溃和“应用程序无响应”(ANR)率,并将其转化为以用户为中心的指标,如“恼怒用户率”和“无崩溃用户率”,或根据用户发生的时间进行分类,如在跑步或完成锻炼时。...Eventbrite,Natalia Gatti: 为保证发布后每一个应用程序都能保持稳定,我们使用 Sentry 来监控无崩溃用户会话率,我们的目标是将这个比率控制在 99.6% 以上。...对于我们的 iOS 应用程序,我们使用 MetricKit 来监控启动时间和挂起率。对于 Android 系统,我们在 Google Play Console 中测量 ANR 和崩溃率等核心指标。

    99910

    十月份精选Github项目推荐:xCrash

    作者:hardwork 来源:http://www.apkbus.com/blog-985981-81036.html xCrash xCrash 能为安卓 APP 提供捕获 java 崩溃,native...xCrash 能在 App 进程崩溃或 ANR 时,在你指定的目录中生成一个 tombstone 文件(格式与安卓系统的 tombstone 文件类似)。 ?...xCrash 已经在 爱奇艺 的很多安卓 APP(包括爱奇艺视频)中被使用了很多年。 特征 支持 Android 4.0 - 10(API level 14 - 29)。...捕获 native 崩溃 ? 捕获 ANR ? 使用 1. 增加依赖 ? 2. 指定一个或多个你需要的 ABI。 ? 3. 初始化 xCrash。 Java ? Kotlin ?...(通常在: /data/data/PACKAGE_NAME/files/tombstones) 在 src/java/xcrash/xcrash_sample 文件夹中,有一个更实际和复杂的示例 APP

    73020

    应用崩溃了?Android vitals 帮您精确诊断

    启动时间:用户希望应用加载起来要快一些。加载时间过长的应用会被视为没有响应,从而破坏用户体验。 Android vitals 提供的各种启动状态的信息:包括冷启动、暖启动和热启动。...确定崩溃点 所有的崩溃都不太一样。有些容易捕获,有些很难确定。不过,一旦确定崩溃的来源,调试就变得容易多了。 应用崩溃和 ANR 在 Android vitals 菜单下有一个专门的分区。...在页面底部,您可以访问崩溃日志。日志揭示了异常所属的类型,以及它在应用内的根源。这应该可以让您大概了解到一些可能的解决方案。...但是在处理应用崩溃时,以下方案可能会派上用场: 使用像 Firebase Crashlytics 这样优秀的崩溃报告工具以及 Android vitals,更深入地了解应用崩溃现象。...试试 Kotlin。Kotlin 受到 Android 的官方支持,可与 Java 实现完全的互操作。

    1.9K30

    Kotlin京东业务实战 | 强大又简洁的JVM语言

    作 者 简 介 赵振华——京东商城资深工程师 9年以上开发经验,熟悉主流移动开发框架,热衷于探索新技术,曾负责过店铺、JDReact架构等项目的开发工作,目前专注于京东App领券中心频道开发,以及移动端技术难点攻克和新技术调研实施...artist.print() 第2行会显示一个错误,因为没有对变量进行null检查。 Null曾经被戏称为“十亿美金的错误”,Null虽然好用,但是导致很多错误的元凶往往都是它。...class Artist ( var id: Long, var name: String, var url: String, var mbid: String) 使用一行代码创建一个包含...Kotlin在设计上避免了常见的编程错误,从而减少了应用程序崩溃和系统故障。此外,由于Kotlin 是快速失败机制,可以立即报告任何可能导致失败的问题。...因此 Kotlin 在降低应用崩溃率上有很大作用,非常值得期待!

    1.7K00

    Node-RED | 无需一行代码,快速在浏览器中构建你的可视化 IoT Web App

    Node-RED Node-RED是一种编程工具,通过在浏览器中拖拽的方式将硬件设备、API和在线服务连接在一起,构成数据流,使用户可以快速的创建出自己的Web应用。...建立在Node.js之上 Node-RED具有基于Node.js构建的轻量级运行时,充分利用了其事件驱动的非阻塞模型,这使得它的运行平常非常广泛,诸如: 低成本的硬件:Raspberry Pi(树莓派)...协同开发 在Node-RED中创建的流使用JSON数据存储,可以轻松导入和导出,多人协作起来非常方便。 ? 2....参考我的另一篇教程,在Linux服务器上安装Docker:Docker-ce最新版在Ubuntu18.04上的安装、更新、卸载方法(存储库方式)。...开始创作 在Docker开启服务后,访问http::1880即可进入Node-RED: ?

    8.6K20

    Android JetPack应用架构

    简介 在2018年的谷歌I/O大会上,官方发布了一系列辅助android开发者的实用工具,合称Jetpack,以帮助开发者构建出色的 Android 应用。...同时,Android Jetpack 完美兼容 Kotlin 语言,利用 Android KTX 可大幅节省代码量。...作为一个类库集合,Jetpack具有如下的一些特性: 快速开发:组件可单独使用,也可以同时工作,当使用kotlin语言特性时,可以让你更有效率 消除样板代码:Android Jetpack管理乏味的活动...,例如后台任务、导航和生命周期管理,你可以专注于让你的app更棒的东西。...构建高质量、健壮的app:基于现代设计实践,Android Jetpack组件可以减少崩溃和内存泄漏,且向后兼容。 示例

    31340

    iOS开发——Instruments工具调试

    随着项目的扩大和功能的增多,没经过认真调试和优化的代码,要么任性地卡顿运行,要么低调地崩溃了之……结果呢,大家用着不高兴,开发者也不开心。...APP启动之后,中止 TimeProfile,按住 option键在监控窗口中拖拽,选中监控区域中起始点到打开 APP后的峰谷,查看APP启动所需时间,如下图: ?...图1 在 TimeProfile中查看启动时间 2)分析可优化空间 首先,需要注意一下右侧栏中的几个给力的筛选项,如下图: ?...双击中间主窗口中的方法名进入具体的代码行查看,耗时多的代码行有颜色标记,并显示占比。 ?...图3 TimeProfile 代码行 获取 APP启动时间非常简单,但分析哪些地方可以优化,则需要对代码足够了解。

    2.3K20

    用最新技术不断完善影像世界 | Android 开发者故事

    让我们通过☟视频☟一起来了解下他们的开发故事: 点击查看腾讯视频 受到做摄影师的父亲影响,徐灏在 8 年前创立了品果科技并担任 CEO。...品果的技术总监李涛和技术团队成员很早就在关注Kotlin 语言,当 Kotlin 成为 Android 官方语言后,品果便开始在内部组织学习,并在项目实践中推广Kotlin。...得益于 Kotlin 大量的语法糖和现代语法功能,品果的开发效率有了显著提升。使用 Kotlin 开发新功能,品果只用了三个月便将项目开发到了可上线程度。...而重构老代码时,接近 200 行的 Java 代码用 Kotlin 重构后,平均只需要 86 行。除此之外,使用 Kotlin 的项目在稳定性方面也有所提升,NPE 错误的出现频率明显降低。...品果使用 Android Vitals 将过度唤醒事件从 4.51% 下降到了 0.01%,崩溃率从 0.99% 下降到了 0.27%,月度评分从 4.341 提升到了 4.471,并在推出动态贴纸等功能后在日本市场大受欢迎

    50840

    Android性能优化(一)

    在冷启动时,应用程序从头开始。在其他状态下,系统需要将正在运行的应用程序从后台运行到前台。我们建议您始终根据冷启动的假设进行优化。这样做也可以改善热启动和温启动的性能。...所以我们就可以在 Application 中记录启动时间。...Java:从 Java 或 Kotlin 代码分配的对象内存。 Allocated:应用分配的 Java/Kotlin 对象数。 它没有计入 C 或 C++ 中分配的对象。...被 low memory killer 杀掉、从系统的任务管理器中划掉等 ANR 我们可以在应用启动的时候设定一个标志,在主动自杀或崩溃后更新标志,这样下次启动时通过检测这个标志就能确认运行期间是否发生过异常退出...崩溃是属于 Java 崩溃、Native 崩溃,还是 ANR,对于不同类型的崩溃关注的点也不太一样。特别需要看崩溃堆栈的栈顶,看具体崩溃在系统的代码,还是 APP 代码里面。

    2.7K20
    领券