
Android
文章平均质量分 91
黄舒颖 咸丫蛋
anti/lazy
展开
-
Android onTouchEvent, onClick及onLongClick的调用机制
针对屏幕上的一个View控件,Android如何区分应当触发onTouchEvent,还是onClick,亦或是onLongClick事件?在Android中,一次用户操作可以被不同的View按次序分别处理,并将完全响应了用户一次UI操作称之为消费了该事件(consume),那么Android是按什么次序将事件传递的呢?又在什么情况下判定为消费了该事件? 搞清楚这些问题对于编写出转载 2013-10-22 21:34:09 · 783 阅读 · 0 评论 -
Activity的启动流程
Activity是Android中最重要的概念,没有之一。我之前写过 Android Tasks、ActivityStack和Activity,主要解释了一下Android Task和Activity这两个概念之间的关系,另外Android Task中包含了一个ActivityStack来管理Activity的关系,今天重新复习一下Activity的启动过程,是在理解Activity的路上往前更进...转载 2018-07-25 18:44:56 · 1624 阅读 · 0 评论 -
内存泄漏检测实战(1)
目录利用Android Studio的Android Profiler、MAT对Android进行内存泄漏检测前言Android Profiler & Memory Profiler & MATstep1,利用Memory Profiler dump指定应用的内存堆step2,重复操作以后,进行GC操作,dump指定应用的内存堆并保存起来step3,convert java hea...原创 2018-10-20 20:41:29 · 1507 阅读 · 0 评论 -
Android安全机制(3) APK 签名机制
APK签名是Android APK安全的第一道防线,是Android APK身份的一个唯一标志原创 2018-11-10 11:37:49 · 2479 阅读 · 0 评论 -
支付宝客户端架构分析:自动化日志收集及分析
看了这篇文章,主要可以的学习点:1、可以从静态和动态两个角度来看一下支付宝在客户端性能优化上面的实践;静态方面主要讲解了一些安全方面的文章,(见Android uid、gid与pid、Android Permission权限控制机制、Android APK签名机制、Selinux Android),安装包、存储、公共资源涉及比较少,动态方面之前用了系列文章讲解了内存方面的优化工作,(见Andr...转载 2018-12-04 23:30:17 · 1377 阅读 · 0 评论 -
Android 5.0 新特性和功能,系统和 API 行为变更
Android 5.0 API 变更(Android L、API Level 21)用户界面Material Design 支持Android 5.0 添加了对 Android 的新 Material Design 样式的支持。您可以创建具有 Material Design 功能的应用,实现动态视觉效果,利用其中的 UI 元素转换赋予用户自然的感觉。此支持包括:Material Des...转载 2019-02-03 09:44:12 · 771 阅读 · 0 评论 -
Android 6.0 新特性和功能,系统和 API 行为更新
Android 6.0 API 更新(Android M、API Level 23)指纹身份验证此版本提供了一些新的 API,在受支持的设备上,用户只需扫描其指纹即可完成身份验证,这些 API 还可与 Android 密钥库系统结合使用。要通过指纹扫描验证用户身份,请获取新 FingerprintManager 类的实例,并调用 authenticate()方法。您的应用必须运行在带有指纹...转载 2019-02-09 15:03:49 · 1191 阅读 · 0 评论 -
Android 7.0 新特性和功能,系统和 API 行为更新
Android 7.0 API 更新(Android N、API Level 24)电池和内存Android 7.0 包括旨在延长设备电池寿命和减少 RAM 使用的系统行为变更。这些变更可能会影响您的应用访问系统资源,以及您的应用通过特定隐式 intent 与其他应用交互的方式。低电耗模式Android 6.0(API 级别 23)引入了低电耗模式,当用户设备未插接电源、处于静止状态且屏...转载 2019-02-12 10:01:14 · 3736 阅读 · 0 评论 -
Android 开源库与开源项目
花了点心思整理的一些Android开源库与开源项目,后面再慢慢补充原创 2019-03-17 09:25:53 · 605 阅读 · 0 评论 -
ACRA功能介绍与分析
ACRA是一个Android平台程序崩溃信息收集的开源库,用于嵌入到Android Project中,当该程序崩溃的时候ACRA能够在进程彻底结束前收集崩溃状态时的该应用和设备的各种信息,生成崩溃报告,保存到本地,并在合适的时机发送报告到服务端。使得开发者能进行程序错误信息的收集,可以更好的改进程序以提高兼容性,目前只能支持采集java层的crash,要采集native层需要考虑集成breakpad原创 2019-03-22 17:39:14 · 3025 阅读 · 0 评论 -
binder Driver (binder IPC) 功能介绍与分析
在我的Android体系架构解读一文中,在kernel层有很多个驱动,Android Logger,Shared Memory Driver,Binder Driver是非常通用非常重要的几个。 其中Binder Driver是Android Framework IPC机制的核心,来学习一下吧原创 2019-03-30 10:07:04 · 2149 阅读 · 0 评论 -
Android系统启动流程
Android系统启动流程学习,会对Android系统与Linux系统的关系有一个更深的理解。= Android启动流程 =Android启动时序图== Linux启动 ===== 开机过电,复位器件 ====== 执行Bootloader程序 ===arm中是uboot或者fastboot如果在fastboot的运行过程中没有按下特别的按键,执行第一个应用程序(即...转载 2019-04-11 18:31:40 · 982 阅读 · 0 评论 -
Android Looper原理源码分析
在很久以前的时候转载了一小篇文章《Android Message Queue、Message、Looper、Handler》白话介绍了一下Android Message Queue、Looper、Handler这几个概念之间的关系。其中Looper居于这几个概念的核心,一个Looper里面有一个MessageQueue。多个Handler可以共享一个Looper,一个线程里面只有一个Looper。今天再深入分析一下Looper的原理源码原创 2019-04-08 15:43:37 · 1640 阅读 · 0 评论 -
Android 流量分析 tcpdump & wireshark
APP竞争已经白热化了,控制好自己Android应用的流量可以给用户一个良好的用户体验噢,给用户多一个不卸载的理由。Android 如何进行流量分析?用好tcpdump & wireshark这两个工具就好了。原创 2014-11-01 12:29:12 · 5327 阅读 · 2 评论 -
Android hybrid 开发实践(android webview)
关于Android 和 h5 hybrid 开发的实践在网上有很多,Android自身就有一个webview,很多实践都是通过webview来实现的,以下是自己的实践原创 2017-08-13 17:39:15 · 816 阅读 · 0 评论 -
Android ANR问题分析思路
使用过Android的同学,尤其是用过山寨pad,应该对Android的重启问题印象深刻吧。Android由于其设计的复杂性,可能会使得系统在不经意时陷入异常状态,因此Android设计了一套看门狗机制,当检测到问题后,自动重启。再说说我碰到的问题吧,刚带起Android的时候,android的重启问题异常严重,经常操作一会后,界面卡住,等待1分钟左右,重启…, trace大约如下:W转载 2014-08-19 20:59:59 · 22295 阅读 · 0 评论 -
Android ANR
文章转载自 http://blog.youkuaiyun.com/tjy1985/article/details/6777346 ,http://blog.youkuaiyun.com/tjy1985/article/details/6777355 , http://blog.youkuaiyun.com/tjy1985/article/details/6777983 hebing转载 2014-08-20 20:01:02 · 1734 阅读 · 0 评论 -
Android MessageQueue,Message,Looper,handler
一、几个关键概念 1、MessageQueue:是一种数据结构,见名知义,就是一个消息队列,存放消息的地方。每一个线程最多只可以拥有一个MessageQueue数据结构。 创建一个线程的时候,并不会自动创建其MessageQueue。通常使用一个Looper对象对该线程的MessageQueue进行管理。主线程创建时,会创建一 个默认的Looper对象,而Looper对象的创建,将转载 2013-10-08 12:15:30 · 1008 阅读 · 0 评论 -
Android 内存优化技巧
在之前的 Android 内存管理 &Memory Leak & OOM 分析 中,说到了Android的内存管理相关的原理,也能了解到Android Memory Leak 和 OOM为什么会发生。这次主要说说在编码和优化技巧层面,来预防Memory Leak的发生。对象都是有生命周期的,对象的生命周期有的是进程级别的,有的是Activity所在的生命周期,随Acti...原创 2014-11-22 14:48:42 · 10973 阅读 · 0 评论 -
Android 内存管理 &Memory Leak & OOM 分析
1、Android 进程管理&内存Android主要应用在嵌入式设备当中,而嵌入式设备由于一些众所周知的条件限制,通常都不会有很高的配置,特别是内存是比较有限的。如果我们编写的代 码当中有太多的对内存使用不当的地方,难免会使得我们的设备运行缓慢,甚至是死机。为了能够使得Android应用程序安全且快速的运行,Android 的每个应用程序都会使用一个专有的Dalvik虚拟机实例来运行,...原创 2014-09-28 21:27:41 · 33010 阅读 · 0 评论 -
Android安全机制(2) Android Permission权限控制机制
1、概述 我们在Android安全机制(1)中介绍过基于UID和GID的Android进程隔离机制。 这是利用 Linux 已有的权限管理机制,通过为每一个 Application 分配不同的 uid 和 gid , 从而使得不同的 Application 之间的私有数据和访问( native 以及 java 层通过这种 sandbox 机制,都可以)达到隔离的目的 。 ...原创 2015-03-01 11:51:43 · 44555 阅读 · 2 评论 -
Android 安全机制(1)uid 、 gid 与 pid
1、概述 Android 安全机制来源于Linux,并且以Linux权限管理为基础,要了解Android的安全机制,需要从linux中的安全机制了解开始,而用户的权限管理又是linux安全机制的最基本的一个组成. Android的创新之处是在linux用户权限管理的基础之上创建了Android 进程的沙箱隔离机制. 2、linux中的用户(UID)、组(GID)、进程(PI...原创 2015-02-08 22:53:01 · 36142 阅读 · 2 评论 -
Android 查看内存使用工具 (procstats)
对于应用开发来说,简单的看应用内存有没有问题,就可以使用这个工具procstats。跑上几个小时monkey,然后用工具dump一下就对内存的使用就了然于胸文章翻译自 http://source.android.com/devices/tech/debug/procstats.html简单了解一下这个工具,后面会再介绍一个腾讯的开源性能测试利器APT翻译 2016-06-24 22:04:25 · 7520 阅读 · 1 评论 -
TextView canvas.drawText 超出长度后...
遇到一个代码中需要自己在代码中去处理canvas.drawText超出长度的问题,总结一下TextView超出长度后怎么做原创 2016-10-24 22:47:40 · 6069 阅读 · 0 评论 -
Android 体系架构解读
1、引言 马上就2017年了,时间过得真快。最近学习了一下架构师相关的能力解析和整理了一下自己在应用软件架构、MVC、分层上面的理解(这个不仅仅是Android系统,也是windows客户端系统,也是web系统)掐指一算,我从11年末开始搞安卓到现在也5年了,在这期间做过好些个Android应用,也有幸在application framework里面倒腾过一阵子。Android相关的知识在...原创 2016-12-31 23:48:07 · 1925 阅读 · 0 评论 -
Android Tasks、ActivityStack和Activity
最近又在开展一些Android的开发工作,出现了在个别场景下发生的Activity切换不符合预期的情况,于是来温习一下Android的Tasks、ActivityStack、Activity,以及影响到他们的几个重要参数launchMode、taskAffinity、IntentFlags 应用程序的进程与线程从应用程序的角度来看,应用程序一般定义了应用对应的进程,以及上面运行着的一系...原创 2017-03-26 14:21:05 · 3526 阅读 · 0 评论 -
Android 自定义URL Scheme
在从URI看Mobile和Web数据一文中,我们讲到了Android的设计者们在Activity 中引入了URI,即通过自定义URL Scheme来定位一个页面,外部和内部应用可以通过一个uri非常方便的定位到Android的各个页面,下面就来看看Android URL Scheme for Activity转载 2017-07-25 21:28:30 · 3407 阅读 · 0 评论 -
从URI看Mobile和Web数据
我们在Mobile Analytics一文中分析了Mobile APP和Web APP最大的区别是对外的数据的呈现和分享的问题,今天就从URI的层面来看这个区别,毫无疑问,WWW是最开放的,通过http协议把内容放到网络上开启了人类的共享时代。移动应用(C/S应用)本来是非常不开放的一个资源,在Android时代,通过Android的设计者们引入了URI到Activity,和引入URI到ContentProvider。就像在封闭的房间里开了几扇窗户,在封闭的岛上开放了一些渡口。但是很遗憾这种开放也仅仅局限原创 2017-07-23 18:34:09 · 608 阅读 · 0 评论