GitHub最牛的Android开源项目,金三银四
Android目前也是非常成熟的,如今移动的变化也是比较大,不管是从Android系统本身的变化还是语言上,自从17年kotlin的作为第一语言,涉及到Android系统周边的非常之多内容,若全部自己去实现及掌握可能需要花费很多的精力,现在github中有很多非常优秀的项目,快速的学习及掌握;1,视频播放器,基于IJKPlayer(兼容系统MediaPl
刘望舒 刘望舒
3年前
Android系统启动流程(二)解析Zygote进程启动过程
上一篇文章我们分析了init进程的启动过程,启动过程中主要做了三件事,其中一件就是创建了Zygote进程,那么Zygote进程是什么,它做了哪些事呢?这篇文章会给你这些问题的答案。"tag:Android框架层Android系统启动categories:Android框架层本文首发于微信公众号「刘望舒」前言上一篇
刘望舒 刘望舒
3年前
Android解析ActivityManagerService(一)AMS启动流程和AMS家族
Android框架层Android系统服务ActivityManagerServiceAndroid框架层本文首发于微信公众号「刘望舒」前言此前在Android系统启动流程、应用进程以及深入四大组件这三个系列文章中,都提及到了AMS,但都没有系统的来讲解它,本文就以AMS为主来进行讲解,其中会有一些知识点与这些系列文章有所重合,这里会尽量做到详尽讲解
Wesley13 Wesley13
3年前
android获取mac地址
1、<usespermissionandroid:name"android.permission.ACCESS_WIFI_STATE"/ 2、privateStringgetLocalMacAddress(){WifiManagerwifi(WifiManager)getSystemSe
刘望舒 刘望舒
3年前
Android包管理机制(五)APK是如何被解析的
Android框架层Android包管理机制Android框架层本文首发于微信公众号「刘望舒」前言在本系列的前面文章中,我介绍了PackageInstaller的初始化和安装APK过程、PMS处理APK的安装和PMS的创建过程,这些文章中经常会涉及到一个类,那就是PackageParser,它用来在APK的安装过程中解析APK,那么APK是如何被解析的
刘望舒 刘望舒
3年前
Android深入四大组件(五)Content Provider的启动过程
Android框架层Android深入四大组件categories:Android框架层本文首发于微信公众号「刘望舒」前言ContentProvider做为四大组件之一,通常情况下并没有其他的组件使用频繁,但这不能作为我们不去深入学习它的理由。关于ContentProvider一篇文章是写不完的,这一篇文章先来介绍它的启动过程。<!more1.q
Stella981 Stella981
3年前
Android后台保活实践总结:即时通讯应用无法根治的“顽疾”
前言Android进程和Service的保活,是困扰Android开发人员的一大顽疾。因涉及到省电和内存管理策略,各厂商基于自家的理解,在自已ROOM发布于都对标准Android发行版作为或多或少的改动,使得应用层程序在处理进程和Service保活问题上变的异常复杂,且很难兼容,因为说不定哪款手机或者哪个版本的省电策略发生改变,那么
Stella981 Stella981
3年前
Android的消息处理机制(图+源码分析)——Looper,Handler,Message
作为一个大三的预备程序员,我学习android的一大乐趣是可以通过源码学习google大牛们的设计思想。android源码中包含了大量的设计模式,除此以外,androidsdk还精心为我们设计了各种helper类,对于和我一样渴望水平得到进阶的人来说,都太值得一读了。这不,前几天为了了解android的消息处理机制,我看了Looper,Handler,
Stella981 Stella981
3年前
Android消息总线的演进之路:用LiveDataBus替代RxBus、EventBus
背景对于Android系统来说,消息传递是最基本的组件,每一个App内的不同页面,不同组件都在进行消息传递。消息传递既可以用于Android四大组件之间的通信,也可用于异步线程和主线程之间的通信。对于Android开发者来说,经常使用的消息传递方式有很多种,从最早使用的Handler、BroadcastReceiver、接口回调,到近几年流行的通
Stella981 Stella981
3年前
Android 移植到C#
甲骨文和谷歌正就谷歌在Android中使用Java一案展开一场10亿美元的大较量。但是Java并非在Android中建立本地应用的唯一方法。事实上,它甚至不是最好的文法:我们已经将C提供给Android开发者作为一个高性能、低功耗的Java的替代语言(https://www.oschina.net/action/GoToLink?url