原标题:Android——性能测试关注的指标性能测试过程中,出现的一些问题可直接导致了用户对当前app的使用率和卸载率,如果app使用时卡顿严重或者加载页面慢,cpu占用率高,导致app闪退等问题,在测试过程中,则需特别关注性能方面的体验,app性能好、ui设计美观、功能层级明确,路径层级较少,均可提升用户对app的使用率,性能测试中可关注的问题如下:1、连接超时:app关注的首要问题,在移动应用
## iOS Runtime崩溃实现指南 在进行 iOS 开发时,稳定性是一个非常重要的指标。为了提高应用的稳定性,我们可以通过“Runtime崩溃”技术来捕获和处理未处理的异常。接下来,我会逐步教你如何实现这一功能。 ### 事件流程概览 我们将通过以下步骤来实现 iOS Runtime崩溃: | 步骤 | 描述 | |------|------| | 1 | 设置异常
原创 2024-09-14 06:26:52
124阅读
一、runtime简介 RunTime简称运行时。OC就是运行时机制,也就是在运行时候的一些机制,其中最主要的是消息机制。 对于C语言,函数的调用在编译的时候会决定调用哪个函数。 对于OC的函数,属于动态调用过程,在编译的时候并不能决定真正调用哪个函数,只有在真正运行的时候才会根据函数的名称找到对应的函数来调用。 事实证明: 在编译阶段,OC可以调用任何函数,即使这个函数并未实现,只要声明
runloop运行循环 1;是个死循环,主线程默认开启,子线程不开启2;保证程序不退出3;监听事件,应用场景 1;定时器,时钟,NSTimer,CADisplayLink2;监听网络端口数据的接收和发送情况,socket开发iOS 中所有的事件监听全部由运行循环负责主线程的 RunLoop 在应用启动的时候就会自动创建其他线程则需要在该线程下自己启动不能自己创建 RunLoopRunLoop 并不
转载 2023-06-24 22:51:26
188阅读
在iOS开发中,崩溃是一个常见且棘手的问题。为了更高效地捕捉崩溃信息,我们可以利用Objective-C的Runtime机制进行崩溃信息的捕捉和处理。这篇文章将逐步带你了解iOS利用Runtime捕捉崩溃信息的过程,从问题背景到预防优化,涵盖所有关键环节。 ## 问题背景 在日常开发中,用户经常遇到应用崩溃的问题。以下是一些典型的用户使用场景: - 用户在尝试打开应用程序时,应用无响应并直接
原创 6月前
40阅读
前言在最开始听到runtime的时候,我是感到恐惧的,多么高大上的东西啊!!!后来,开始在网上查一些资料,可是就是只有那么几篇,看了好久,还不知所云,所以就更加恐惧了!!!!后来经过查看documents 以及一些国外大牛的blogs,终于对runtime有了更深刻的了解!runtime实现的机制是什么runtime是一套比较底层的纯C语言API, 属于1个C语言库, 包含了很多底层的C语言API
Objective-C 是一个动态语言,它需要一个运行时系统来动态的创建类和对象、进行消息传递和转发。
转载 2021-12-20 09:30:41
81阅读
当我们把数据插入到数组的时候,需要先判断该对象是否为空值,非空才能插入,否则会引起崩溃。那么有没有一种方式,可以从根本上解决,即使我插入的是空值,也不会引起崩溃呢:1.继承于这个类,然后通过重写方法(很常用,比如基类控制器,可以在视图加载完成时做一些公共的配置等) 2.通过类别重写方法,暴力抢先(此法太暴力,尽量不要这么做) 3.swizzling(本文特讲内容)@interface NSOb
一 前言   很少接触HashTable晚上回来简单看了看,然后做一些增加和移除的操作,就想和List 与 Dictionary比较下存数据与取数据的差距,然后便有了如下的一此测试,当然我测的方法可能不是很科学,但至少是我现在觉得比较靠谱的方法。如果朋友们有什么好的方法,欢迎提出大家来交流下。先来简单介绍这三个容器的各自特点吧   1 hashtable&n
容器管理工具容器规范:容器规范 容器不光是 Docker,还有其他容器,比如 CoreOS 的 rkt。 为了保证容器生态的健康发展,保证不同容器之间能够兼容,包含 Docker、CoreOS、Google在内的若干公司共同成立了一个叫 Open Container Initiative(OCI) 的组织,其目是制定开放的容器规范。目前 OCI 发布了两个规范:runtime spec 和 ima
转载 2023-07-29 23:13:34
168阅读
1. Floating Point Error,这是因为你的程序出现了除法运算中除数为0的情况 2. Segmentation Fault,段错误,引发段错误的原因主要的又可以分成2点:      (1)buffer overflow缓冲区溢出,缓冲区溢出一般就是你的程序中数组开小了,产生了越界访问,比如定义int a[100];此时你引用了a[1000]就
转载 2023-08-17 14:58:06
183阅读
前言最近对Android run time机制进行了一些研究,并对run time的处理做了一些总结,现记录下来,以方便日后工作学习,也可供读者参考。 通过本篇,我们应理解以下知识点:Android系统的启动顺序init进程的处理及rc配置文件系统级service是如何启动的添加一个系统级service的注意点本文主要以android-7.1.2_r11为参考。Android系统启动过程
随着信息技术高速发展,移动互联几乎已成为了一种生活方式的代名词,在全民上网的数字热潮中,如何能最大程度保障产品服务的稳定性,提供良好的用户体验,是当前企业都需要思考和亟待解决的问题。App的应用性能稳定是良好用户体验中非常关键的一环,而现实情况却是应用崩溃、卡顿、加载缓慢、页面白屏等问题,频频出现在用户的真实体验之中,成为影响业务表现的直接杀手。为此,应用性能管理(APM)正在国内外蓬勃发展,被越
Q:如何算崩溃呢?这里崩溃是指app被强制关闭或者app捕获异常重启。就以现在的手机YY为例吧,他们的日活超过百万,他们的崩溃率是千分之七。我们现在研发的app经过六个月的迭代,崩溃率却依然低于千分之三。Q:android各大厂商的crash率都是多少?我们用的是bugly崩溃率是3%,是否在行业的标准范围之内?一般水平在千分之几,万分之几是比较优秀的水平。3%非常高了,超过1%已经是很差了。Q:
转载 2023-05-24 23:19:30
538阅读
一:崩溃崩溃Android崩溃 是指Android应用程序出现异常退出,对一个应用来说几乎是致命的问题。 崩溃率 衡量一个应用质量高低的基本指标。一个产品的崩溃率,跟我们如何捕获、处理这些异常有比较大的关系。 很多工具提供了收集崩溃,计算崩溃率的能力,如阿里的友盟、腾讯的Bugly、网易云捕、Google的Firebase。二:崩溃类型 Android崩溃分为以下几种:Java Crash
转载 2023-07-26 20:02:41
3阅读
    掌握了崩溃的情况,不至于盲目测试,也能给开发带来有利信息,便于开发排查定位问题。因此,作为测试工程师,很有必要掌握该项技能。1. Android崩溃1.1 ANR(Application Not Response)发生场景:应用发生ANR崩溃症状:系统弹出窗口询问用户选择“Force Close”或者“Wait”。“Force C
转载 2023-08-25 14:33:14
63阅读
以下是我这个系列的相关文章,有兴趣可以参考一下,可以给个喜欢或者关注我的文章。 [Android]如何做一个崩溃率少于千分之三噶应用app(1)-module工程架构 [Android]如何做一个崩溃率少于千分之三噶应用app(2)-完全退出App [Android]如何做一个崩溃率少于千分之三噶应用app(3)-极速编译 [Android]如何做一个崩溃率少于千分之三噶应用app(4)-极速编
转载 2024-01-23 12:27:43
46阅读
参考Awesome-Android-InterviewDemo:Advanced应用退出的情形:主动自杀。Process.killProcess()、exit() 等。崩溃。出现了 Java 或 Native 崩溃。系统重启;系统出现异常、断电、用户主动重启等,我们可以通过比较应用开机运行时间是否比之前记录的值更小。被系统杀死。被 low memory killer 杀掉、从系统的任务管理器中划掉
转载 2023-09-11 21:25:00
90阅读
      崩溃率是衡量一个应用质量高低的基本指标,这一点是大部分开发者都比较认可的;Android 的两种崩溃类型:     Android 崩溃分为 Java 崩溃和 Native 崩溃;      Java 崩溃就是在 Java 代码中,出现了未捕获异常,导致程序异常退出。Native 崩溃又是怎么产生
转载 2023-07-29 21:44:59
115阅读
为深入学习runtime的原理及使用,找到几篇个人认为写的比较好的文章进行转载分享:runtime 的原理及使用简介:因为Objc是一门动态语言,所以它总是想办法把一些决定工作从编译连接推迟到运行时。也就是说只有编译器是不够的,还需要一个运行时系统 (runtime system) 来执行编译后的代码。这就是 Objective-C Runtime 系统存在的意义,它是整个Objc运行框架的一块
转载 2023-08-17 17:02:31
392阅读
  • 1
  • 2
  • 3
  • 4
  • 5