
Android开发
文章平均质量分 75
派派的生活
大梦初醒,晃荡了一生。
展开
-
HandlerThread - 基本使用以及原理解析
本篇主要探讨以下主要内容,可根据需要,选择按顺序读或者跳读。文章目录HandlerThread部分源码什么是HandlerThread?如果获取Looper?如何退出或关闭HandlerThread?Demo示例-如何使用HandlerThread?HandlerThread使用于哪些场景?IntentService - 源码中的HandlerThread使用HandlerThread部分源码...原创 2020-03-23 16:33:44 · 516 阅读 · 0 评论 -
WindowManagerService源码学习
WindowManagerService 源码Android 的framework 层主要是由 WindowManagerService 与 ActivityManagerService 以及 View 所构成,这三个模块穿插交互在 framework中。WMS 和其他很多服务一样, 都是由 SystemServer 启动。在SystemServer 中,有如下代码:wm = ...原创 2018-07-31 11:31:00 · 688 阅读 · 0 评论 -
Android 动画知识总结
动画概述Android中的动画可用分为 三 类: View 动画、帧动画、属性动画。 View动画 包括平移、缩放、旋转、透明度。支持自定义View滑动。帧动画 通过播放一系列图像从而产生动画的效果。如果图片过大,很容易发生 oom 。属性动画 通过改变View的属性而达到动画的效果(API 11 的新特性 3.0)View动画View动画分为四类: T...原创 2018-07-31 11:14:36 · 279 阅读 · 0 评论 -
Android中的线程与线程池
线程与线程池概括线程分为主线程和子线程. 主线程主要是用来处理和界面相关的事情, 子线程主要是用来做耗时的操作,比如 加载远程数据,数据库操作等。 在android 中,处理直接使用 Thread以外。 android 还提供了很多类似线程的操作便于我们开发, 有 AsyncTask 和 IntentService ,还有 HandlerThread. 他们都有各自的特性。 As...原创 2018-07-31 11:10:37 · 311 阅读 · 0 评论 -
Activity 启动流程
Activity 启动调用流程 (基于5.0源码)我们从 startActivity 开始:startActivity()startActivity()方法有多个重载,但是都会调用到 startActivityResult: public void startActivityForResult(Intent intent, int requestCode, @Nullabl...原创 2018-07-31 11:07:16 · 549 阅读 · 0 评论 -
synchronized 修饰普通方法、静态方法、代码块时的差异
目标 : 理解synchronized的含义、明确synchronized关键字修饰普通方法、静态方法和代码块时锁对象的差异。synchronizedJava中的关键字,用来实现多线程下的同步机制,避免多个线程的资源访问造成的混乱。java中每个对象内部都有一个锁,如果一个方法使用 synchronized关键字修饰,java便会把这个方法保护起来。在其中一个线程释放锁之前,别的线...原创 2018-03-29 17:20:31 · 1569 阅读 · 0 评论 -
Hook简述以及Hook AMS 实现统一登录
什么是hook?hook 翻译成中文是 名词钩子、挂钩,动词 钩住的意思。在程序中 Hook 是一种技术,也成为钩子函数。实际上,一个处理消息的程序段,通过系统的调用,把它挂入系统。 在系统没有调用到该函数之前,钩子程序先捕获该消息,先得到控制权,然后加工处理,然后再扔给系统做后续的处理。比如说,有一辆货车 每天从A仓库拉货(一个集装箱的苹果) 到 B 水果分发站。 我们的钩子函数...原创 2018-04-11 18:03:08 · 1740 阅读 · 0 评论 -
自定义注解
元注解即注解的注解,元注解的作用就是用来负责注解其他注解。Java5.0定义了4个标准的meta-annotation类型.分别是 @Target、@Retention、@Documented、@Inherited@Target用来描述注解的使用范围,即注解放在什么地方,可以是 类(Class)、接口、方法、成员变量、枚举等等以下是取值范围:1.CONSTRUCTOR:用于...原创 2018-04-10 14:25:14 · 212 阅读 · 0 评论 -
动态代理简述
动态代理Aop 中,面向切面编程 就是基于动态代理来实现的每一个动态代理的类都需要实现 InvocationHandler 接口 每一个代理类都管理到一个Handler. 通过代理对象调用一个方法时, 就会转发为由 InvocationHandler 接口中的 invoke 方法来调用。 @Override public Object invoke(Object prox...原创 2018-04-10 11:12:11 · 343 阅读 · 0 评论 -
Android动态换肤框架实现
今天介绍一下Android 中的常用的换肤策略,同时动手实现一个动态换肤的框架先上效果图: 换肤概念 换肤: 在android中是指 对 文字、 颜色、 图片 等的资源的更换。 人 : 对应于现实生活中,就是我们的 肤色 、 衣服 等的更换。 有什么好处或者说 目的是什么 ?? 对应于我们android 中呢,就是 可以 满足用...原创 2018-03-25 17:25:49 · 3199 阅读 · 1 评论 -
浅谈Android Apk安装到解析
app 安装的流程:1 网络下载应用安装――通过应用市场完成,没有安装界面2 ADB工具安装――没有安装界面。3 第三方应用安装――通过SD卡里的APK文件安装,有安装界面,由 packageinstaller.apk应用处理安装及卸载过程的界面。安装其实就是把apk文件copy到了对应的目录1 system/app ——系统自带的应用程序,获得adb ...原创 2018-04-02 13:40:24 · 688 阅读 · 0 评论 -
sqlite3 not found 或者 not executable:32-bit ELF file解决办法
首先,基于真机情况下出现的此错误,手机已经root过.问题: sqlite3 not found是因为当我们执行 sqlite3 .. 的命令时,就会去系统的可执行区域 即 system/xbin 目录下查找 sqlite3 .如果该文件不存在,就会报这个错。 解决方式: 提醒: 建议先去 打开shell 环境 cd /proc 然后 cat cpuinfo 查看一下系统的 ...原创 2018-03-23 15:15:26 · 4946 阅读 · 1 评论 -
Retrofit使用总结
相关内容介绍:概述如何使用 同步请求异步请求如何取消各种路径 @Path @Query 等的如何 以及详细使用 Url 是什么样子如何添加Converter modules 类型转换器 可以转换哪些类型 其他内容 自定义Gson对象新的URL定义方式Use an Interceptor from OkHttp(okhttp 使用拦截器)RxJava Integ原创 2018-01-04 13:48:36 · 287 阅读 · 0 评论 -
Retrofit开发-拦截器篇
Retrofit可以与Gson很好的结合,直接以Call的方式更加便捷的形式返回给我们。 但我们也需要出关心服务器的返回数据,以便我们更好的开发,比如 - 和服务器联调接口,要随时知道服务器都返回了什么 - Gson解析报错了,可能是只是一样解析出错的Log,但我们想知道服务器返回了什么样的数据结构(或者是json的内容)。 - 等等 …这个时候我们就需要使用我们接下来介绍的内容,原创 2018-01-05 17:53:37 · 2040 阅读 · 1 评论 -
Android代码报错汇总
本帖子是个人开发中遇到的错误,会在此处做一个记录,会持续更新。1. 导入依赖时,有时会报错(类似下列错误) More than one file was found with OS independent path ‘META-INF/DEPENDENCIES’解决方式: 在build.gradle 中 添加下列代码(根据个人情况自行修改):packagingOptions...原创 2017-12-27 11:44:16 · 1280 阅读 · 0 评论