
Android
文章平均质量分 80
Mr._W
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Android AMS(ATMS)的应用启动流程解析
前言在Android Q中,activity的调度和管理已经从AMS移到了ActivityTaskManagerService中(这里简称ATMS)简介Launcher点击应用图标:这个过程是Launcher进程中进行的,去启动应用的第一个activity。 通过binder进入ATMS:在ATMS中,为应用的第一个activity创建了ActivityRecord,找到其ActivityStack,将ActivityRecord插入到所在的TaskRecord的合适位置。最后执行到Activ原创 2021-04-22 15:18:40 · 3309 阅读 · 0 评论 -
Android 事件分发机制
前言在Android 开发中事件分发是比较重要的,理解事件分发机制对日常开发中组件的事件定义、层级分发处理等尤为重要 下面就是事件分发的流程图: 仔细看的话,图分为3层,从上往下依次是Activity、ViewGroup、View 事件从左上角那个白色箭头开始,由Activity的dispatchTouchEvent做分发 箭头的上面字代表方法返回值,(return true、return false、return super.xxxxx(),super ...原创 2021-03-05 10:17:03 · 359 阅读 · 1 评论 -
Android Binder 机制
前言Binder做为Android中核心机制,对于理解Android系统是必不可少的,相信看完这篇文章大家也可以搞懂binder机制。1、Binder简介先理解一个概念IPC:Inter-process communication ,进程间通信,已有的进程间通信如下几种:1、Files 文件系统(包括内存映射)2、Sockets3、Pipes 管道4、Intents, ContentProviders, Messenger5、BinderAndroid系统中的Binder框架图如下原创 2021-03-04 14:46:24 · 341 阅读 · 1 评论 -
APP Crash全局捕捉——UncaughtException
猿猿们都知道日常码bug都会使用 try - catch拦截异常,主动try-catch是可以预防异常闪退。但是本着“辛辛苦苦敲的bug凭什么要改!”的宗旨,日常闪退该怎么办,猿猿们别慌,一招捕捉全局crash,也可用作埋点cras分析或者缓存io到file作为log,据我所知像友盟这些第三方sdk就嵌套了crash分析,长话短说,直接上码吧public class CrashCat...原创 2020-03-31 15:46:48 · 316 阅读 · 0 评论 -
解决webview出现错误net::err_unknown_url_scheme 的问题
产生原因:webview重定向,其定义没有明确的官方解释,发生的原因是请求的链接(url)在加载完成后发生了变化 (eg.比如你的代码中设置webview加载的是网页A,打开后发现加载的是网页B); 关于net::ERR_UNKNOWN_URL_SCHEME(如下图所示),因为webview只能识别http和https协议,遇到图中这种"wvhzpj://"开头的自定义协议时就无法识别,便会提...原创 2020-03-02 10:20:49 · 46681 阅读 · 4 评论 -
Android开发之APK瘦身之路
啥也不说了,直接进入主题吧1. 结构分析首先上传一张瘦身前通过Analyze app分析出来的图片(打开方式:Android Studio下 ——> Build——> Analyze app):APK包结构如下:1.lib/:包含特定于处理器软件层的编译代码。该目录包含了每种平台的子目录,像armeabi,armeabi-v7a, arm6...原创 2019-11-27 11:42:46 · 284 阅读 · 0 评论 -
ListView嵌套EditText的焦点问题
踩过坑,总结一下1、当Item中有button或者checkbox的控件,控件初始化会抢夺焦点 在edittext或者抢占焦点的button或者checkbox中加上 android:focusable="false"2、软键盘弹出导致listview重绘,而导致edittext失去焦点 在ListView中加入android:descendantFoc...原创 2018-11-22 11:59:36 · 866 阅读 · 1 评论 -
详述Android马甲包
一、何为马甲、作用 简单的说,一句话就是:APP的小号。 区别: 1. 马甲icon和名字不同,内容和主号基本一样。2. 有的是针对不同的目标用户,马甲采用主App的部分功能,同时具特别的功能和内容。3. 不想让大家知道主App...原创 2018-04-11 16:17:05 · 9680 阅读 · 0 评论 -
Android开发中常用到的工具类
常用工具类 /** * 根据手机的分辨率从 dp 的单位 转成为 px(像素) */ public static int dip2px(Context context, float dpValue) { final float scale = context.getResources().getDisplayMetrics().density...原创 2018-04-11 16:25:07 · 347 阅读 · 0 评论 -
判断字符串是否包含中文
public static boolean isContainChinese(String str) { Pattern p = Pattern.compile("[\u4e00-\u9fa5]"); Matcher m = p.matcher(str); if (m.find()) { return true;原创 2017-08-31 15:44:00 · 389 阅读 · 0 评论