anr

苹果电脑基本设置+Linux 命令+Android 实战集锦

℡╲_俬逩灬. 提交于 2019-11-27 20:32:36
本文微信公众号「AndroidTraveler」首发。 背景 大多数应届毕业生在大学期间使用的比较多的是 windows 电脑,因此初入职场如果拿到一台苹果电脑,可能一时间不能够很快的上手。基于此,这边出了系列视频,通过实际的演示让没使用过苹果电脑的小伙伴可以快速上手。 定位 适合以下小伙伴: 之前没有使用过苹果电脑 没在苹果电脑上用过 Terminal Android 开发中没用过命令来完成一些任务的 对视频感兴趣的任何好学小伙伴 讲解方式 这边会通过三种形式进行讲解。分别是思维导图、视频以及本篇文章。 每种形式都有其优缺点,各位小伙伴就根据自身情况进行选择即可。 思维导图 视频 目前视频已经录制完并上传到了 B 站。 全部视频应该是在 8 月 20 日上午 8 点就发布完毕。 B 站链接: https://space.bilibili.com/221777031 文章 第一部分:苹果电脑基本设置 01 触控板设置 点击 系统偏好设置 打开设置面板,点击 触控板 进入设置页面。 勾选 轻拍来点按 ,这样以后点击的时候就可以轻轻一点,不需要用力按下。 辅助点按(用两个手指轻按) ,相当于 windows 里面的右击,用于打开功能菜单。 旧版本启动 三指拖移 可以直接在触控板打开。高版本通过 系统偏好设置->辅助功能->鼠标与触控板->触控板选项... ,通过勾选 启用拖移 选择

Android 高质量开发之崩溃优化

痴心易碎 提交于 2019-11-27 10:05:53
做了很久的面试专题,不知道对各位需要面试和有跳槽想法的小伙伴有没有帮助,今天收集一篇关于崩溃优化方面的文章,面试方面的收集,后续我还会持续更新如果觉得有用可以点个关注 前言 开发人员碰到 APP 崩溃(闪退)什么办?不少人会说根据 Log,找到闪退的代码,捕获异常,“消化”掉了所有 Java 崩溃。至于程序是否会出现其他异常表现,那是上帝要管的事情。是的,这种方法对于紧急情况下不失为一种解决办法,但闪退的真相是什么?是否从根源上解决问题呢? 一、崩溃 崩溃率是衡量一个应用质量高低的基本指标,那么,该怎样客观地衡量崩溃这个指标,以及又该如何看待和崩溃相关的稳定性。 Android 的两种崩溃: Java 崩溃 Native 崩溃 简单来说,Java 崩溃就是在 Java 代码中,出现了未捕获异常,导致程序异常退出。那 Native 崩溃一般都是因为在 Native 代码中访问非法地址,也可能是地址对齐出现了问题,或者发生了程序主动 Abort,这些都会产生相应的 Signal 信号,导致程序异常退出。 1.1 崩溃的收集 “崩溃”就是程序出现异常,而一个产品的崩溃率,跟我们如何捕获、处理这些异常有比较大的关系。对于很多中小型公司来说,可以选择一些第三方的服务。目前各种平台也是百花齐放,包括阿里的友盟、腾讯的Bugly、网易云捕、Google 的 Firebase 等等。要懂得借力!

monkey基础使用教程,如何安装和monkey分析日志

房东的猫 提交于 2019-11-27 03:38:24
1.概念 什么是monkey,monkey的作用是什么? Monkey是Android自身提供的,可以通过adb shell模拟用户行为,发送一些伪随机用户事件到目标设备上。 Monkey和它的直接意思一样,可以像一个猴子一样,疯狂的输入各种随机事件到设备上,像是一个猴子在疯狂的点击设备。 既然Monkey有这样的功能,我们就可以利用它来对Android App做压力测试,可以在规定的范围内,任意随机触发各种事件,来验证App的抗压性和稳定性。这些随机事件包括:点击屏幕、滑动屏幕、各种无力按键等。 原理: monkey测试的原理:利用socket通讯的方式来模拟用户的按键输入、触摸屏输入、手势输入等。 步骤 2.安装使用monkey 前置条件: pc端已安装adb环境/jdk环境/sdk环境 我装了adb/jdk环境,需要装的小伙伴自行百度如何安装,现在我需要安装的是sdk环境 国内安装包下载地址: https://www.androiddevtools.cn/ 下载这个选项 android-sdk_r24.4.1-windows.zip 随便找个路径存档,解压, 打开SDK Manager.exe 勾选所有选项并安装,这是啥子? 配置环境变量: 新建一个环境变量名称为ANDROID_HOME,变量值为当前安装SDK的目录 例如SDK装在D:\androidSDK中,则环境变量为:

Android面试题(二)Android基础3

邮差的信 提交于 2019-11-26 09:14:53
(三)常见的一些原理性问题 1、Handler机制和底层实现 上面一共出现了几种类,ActivityThread,Handler,MessageQueue,Looper,msg(Message),对这些类作简要介绍: ActivityThread:程序的启动入口,该类就是我们说的主线程,它对Looper进行操作的。 Handler:字面意思是操控者,该类有比较重要的地方,就是通过handler来发送消息(sendMessage)到MessageQueue和 操作控件的更新(handleMessage)。handler下面持有这MessageQueue和Looper的对象。 MessageQueue:字面意思是消息队列,就是封装Message类。对Message进行插入和取出操作。 Message:这个类是封装消息体并被发送到MessageQueue中的,给类是通过链表实现的,其好处方便MessageQueue的插入和取出操作。还有一些字段是(int what,Object obj,int arg1,int arg2)。what是用户定义的消息和代码,以便接收者(handler)知道这个是关于什么的。obj是用来传输任意对象的,arg1和arg2是用来传递一些简单的整数类型的。 下面,我们按照启动顺序来进行源码分析: 先获取looper,如果没有就创建 创建过程:

Matrix源码分析之第一篇

送分小仙女□ 提交于 2019-11-26 00:09:50
Matrix源码分析之第一篇 概述 前几天腾讯将一款Android应用性能监控的框架matrix开源了,源码地址在 https://github.com/Tencent/matrix ,作者是微信终端团队。matrix到底是什么?据官方说法如下: Matrix 是一款微信研发并日常使用的 APM(Application Performance Manage),当前主要运行在 Android 平台上。 Matrix 的目标是建立统一的应用性能接入框架,通过各种性能监控方案,对性能监控项的异常数据进行采集和分析,输出相应的问题分析、定位与优化建议,从而帮助开发者开发出更高质量的应用。 Matrix 当前监控范围包括:应用安装包大小,帧率变化,启动耗时,卡顿,慢方法,SQLite 操作优化,文件读写,内存泄漏等等(此段截取自matrix的GitHub介绍) 下面直接看源码: <!-- more --> 代码的入口在application的onCreate()里进行初始化的, Matrix.Builder builder = new Matrix.Builder(this); ``` //省略了一部分构造器创建对象的一段代码,这里仅说明是入口 ``` Matrix.init(builder.build()); 和leakcanary等库一样在application初始化