[置顶] Android6.0Framework源码解析系列[目录]

看前人在很久以前就达到我现在远远不及的高度,这让我觉得有些无力。也正是他们趟过的坑能指引我即将前进的路。所以我很庆幸。我庆幸有人指引,我庆幸我在前进。本着向大牛学习以及知其然知其所以然的精神,准备有目的、系统性的Read The Fucking Source Code。既当作自己的笔记,也希望可以帮助部分后来者。这是一篇已经阅读的Anroid6.0中Framework源码目录......
阅读(2720) 评论(4)

Android 顶级视图DecorView的前世今生

在Activity的启动过程中会执行ActivityThread#performLaunchActivity方法,其中调用Activity#attach。在attach()方法中实例化Activity持有的mWindow属性为Window的唯一实现类PhoneWindow。...
阅读(760) 评论(0)

Android xUtils3源码解析之数据库模块

本文已授权微信公众号《非著名程序员》原创首发,转载请务必注明出处。 xUtil3支持数据库多库的配置,使用不同的DaoConfig,可以创建多个.db文件,每个.db文件彼此独立。 由于xUtils3设计的是在需要使用数据库的时候,才创建数据表。所以下文以save操作为例,跟进初始化数据表的过程。示例代码:...
阅读(2975) 评论(0)

Android xUtils3源码解析之注解模块

本文已授权微信公众号《非著名程序员》原创首发,转载请务必注明出处。 真正的初始化是在这里。实际上这里称作“初始化”有些不太合适,因为xUtils3中View注解都是`@Retention(RetentionPolicy.RUNTIME)`类型的,运行时才是真正的初始化,...
阅读(3213) 评论(1)

Android xUtils3源码解析之图片模块

本文已授权微信公众号《非著名程序员》原创首发,转载请务必注明出处。 xUtils3源码解析之图片模块,图片加载所需要的一切,都在这里~...
阅读(1457) 评论(2)

Android xUtils3源码解析之网络模块

本文已授权微信公众号《非著名程序员》原创首发,转载请务必注明出处。 xUtils3四大模块:网络请求、图片加载、ORM框架和事件注解。本文阅读分析网络请求相关代码。 使用版本:`compile 'org.xutils:xutils:3.3.36'`...
阅读(2909) 评论(3)

Android 从源码的角度带你完全解析AsyncTask

AsyncTask()解析 public AsyncTask() { mWorker = new WorkerRunnable() { public Result call() throws Exception { mTaskInvoked.set(true);...
阅读(442) 评论(1)

Android QA专用,Python实现不一样的多渠道打包工具

相对于美团打包方案,我为什么要写这个工具?除了Gradle的多渠道打包,目前最流行的应该是美团(美团Android自动化之旅—生成渠道包、美团Android自动化之旅—适配渠道包、Walle)使用Python直接添加渠道文件的打包方式了,速度真是杠杠的!但是,这里有一个问题:需要一个已签名无渠道号的APK,那么问题来了,这个APK哪里来的?懂行的朋友该说了,Gradle随便打个Release包不完事...
阅读(389) 评论(2)

Android package属性、package name和Application ID三者的联系及区别

名词解释 package属性:在AndroidManifest.xml文件中。 package name:应用程序的包名。 Application ID:模块defaultConfig块下的applicationId属性。 设置Application ID每个Android应用程序都有唯一一个类似Java包名的Application ID,比如com.example.myapp。在Android设备...
阅读(6560) 评论(1)

Python 模拟登录某SDN并解析返回数据

流程**三步**走: 1. 打开登录页,获取`cookie`和验证信息(正则匹配的`lt`、`execution`和`_eventId`)。 2. 模拟点击登录按钮,这一步需要构造登录表单完整数据,而且要加上`User-Agent`。 3. 验证通过之后,就可以打开各种页面了~...
阅读(539) 评论(0)

Android JNI之Java和C互相调用

概述JNI是什么JNI是Java Native Interface的缩写,它提供了若干的API实现了Java和其他语言的通信(主要是C&C++)。从Java1.1开始,JNI标准成为java平台的一部分,它允许Java代码和其他语言写的代码进行交互。NDK是什么NDK是Native Development Kit的缩写。是SDK(software development kit)软件开发工具包的一部...
阅读(882) 评论(1)

Android 使用WindowManager实现悬浮窗及源码解析

本文已授权微信公众号《鸿洋》原创首发,转载请务必注明出处。 一个Activity、一个Service和两个布局文件。布局十分简单,这里就不贴了,大概描述下。activity_main.xml中俩按钮,layout_window.xml中一个TextView。ok,首先看下MainActivity。MainActivity中只有俩按钮,点击启动WindowService,点击停止WindowService。...
阅读(2744) 评论(16)

Android Activity启动流程源码解析

在 Android Launcher启动应用程序流程源码解析一文中从点击应用程序图标startActivity()开始,一直讲解到Application和MainActivity的onCreate()方法被调用。中间流程有些高能,高能部分是两篇博文共有的地方,没办法绕开。本文主要讲述从Activity#onCreate()到Activity#onResume()的流程。想追本溯源的同学建议先阅读...
阅读(1175) 评论(0)

Android 手把手带你玩转自定义相机

本文已授权微信公众号《鸿洋》原创首发,转载请务必注明出处。 概述相机几乎是每个APP都要用到的功能,万一老板让你定制相机方不方?反正我是有点方。关于相机的两天奋斗总结免费送给你。...
阅读(7374) 评论(23)

Android APP必备高级功能,消息推送之MQTT

本文已授权微信公众号《鸿洋》原创首发,转载请务必注明出处。 1. Android端实现消息推送的几种方式 轮询:客户端定时向服务器请求数据。伪推送。缺点:费电,费流量。 拦截短信消息。服务器需要向客户端发通知时,发送一条短信,客户端收到特定短信之后,先获取信息,然后拦截短信。伪推送。缺点:贵而且短信可能被安全软件拦截。 持久连接(Push)方式:客户端和服务器之间建立长久连接。真正的推送。...
阅读(5858) 评论(24)

Android 高级自定义Toast及源码解析

本文已授权微信公众号《非著名程序员》原创首发,转载请务必注明出处。 Toast概述Toast的作用不需要和用户交互的提示框。更多参见官网:https://developer.android.com/guide/topics/ui/notifiers/toasts.html Toast的简单使用...
阅读(4040) 评论(7)

Android XML布局文件解析过程源码解析

`mLayoutInflater.inflate(layoutResID, mContentParent)`。这行代码的作用是将我们的activity_main.xml填充到mContentParent中去。详见:[setContentView源码解析]。那么,这行代码怎么就将xml文件转换成了View或者ViewGroup了呢?...
阅读(1887) 评论(1)

Android setContentView()源码解析

前言 在Activity中一般第一句就是调用setContentView(R.layout.XXX),但这其中系统做了那些工作? 我们知道,在ClassLoader装载了MainActivity之后,首先创建了Application,之后依次调用Application对象的onAttach和onCreate()方法。然后顺序调用第一个Activity的onAttach和onCreate()方法...
阅读(1132) 评论(0)

Android Launcher启动应用程序流程源码解析

带着问题看源码 点击桌面Launcher图标后做了哪些工作? 应用程序什么时候被创建的? Application和MainActivity的onCreate()方法什么时候被调用的? 概述在Android系统中,启动四大组件中的任何一个都可以启动应用程序。但绝大部分时候我们是通过点击Launcher图标启动应用程序。本文依据Android6.0源码,从点击Launcher图标,直至解析到MainAc...
阅读(1386) 评论(2)

Android SystemServer启动流程源码解析

简介Android系统中各个进程的先后顺序为: init进程 –-> Zygote进程 –> SystemServer进程 –>应用进程 其中Zygote进程由init进程启动,SystemServer进程和应用进程由Zygote进程启动。本文依据6.0源码,主要分析SystemServer进程的启动流程。注意,是启动流程,不是启动过程。启动过程的解析可以移步我的另一片博文Zygote启动流程源码解...
阅读(1461) 评论(8)
52条 共3页1 2 3 下一页 尾页
    个人资料
    • 访问:162645次
    • 积分:2301
    • 等级:
    • 排名:第15888名
    • 原创:50篇
    • 转载:0篇
    • 译文:1篇
    • 评论:181条
    博客专栏
    最新评论