刘望舒 刘望舒
4年前
Android系统启动流程(一)解析init进程启动过程
作为“Android框架层”这个大系列中的第一个系列,我们首先要了解的是Android系统启动流程,在这个流程中会涉及到很多重要的知识点,这个系列我们就来一一讲解它们,这一篇我们就来学习init进程。"tag:Android框架层Android系统启动categories:Android框架层本文首发于微信公众号「刘望舒」
成熟的App会Hook自己
一、目标李老板:奋飞呀,我都是自己了,还不是想怎么玩就怎么玩,还用Hook这么麻烦吗?奋飞:男人要对自己狠一点。我有一个libtest.so,我调用它后,它会使用androidlogprint输出一些信息,我想让它输出的内容加点私货。动手吧。sohookDobby二、步骤先把so调用起来把so放在cpp的同级目录jniLibs下面。然后跑
刘望舒 刘望舒
4年前
Android包管理机制(四)PMS的创建过程
Android框架层Android包管理机制Android框架层本文首发于微信公众号「刘望舒」<!more前言PMS的创建过程分为两个部分进行讲解,分别是SyetemServer处理部分和PMS构造方法。其中SyetemServer处理部分和AMS和WMS的创建过程是类似的,可以将它们进行对比,这样可以更好的理解和记忆这一知识点。1.SyetemS
Alonso095 Alonso095
4年前
Python的环境搭建和下载
Python是一个跨平台、可移植的编程语言,因此可在windows、Linux和MacOSX系统中安装使用。安装完成后,你会得到Python解释器环境,可以通过终端输入python命令查看本地是否已经按照python以及python版本。这里有一点需要注意的是,如果没有将python的安装目录添加到环境变量中,会报错(python不是内部命令或外部命
Stella981 Stella981
3年前
FFmpeg代码导读——HEVC在RTMP中的扩展
!(https://oscimg.oschina.net/oscnet/f227f0e32e0048ed9447cf9d8c5db169.jpg)视频流媒体中视频数据的传输占据了绝大部分的带宽,如何提升编码效率、减小带宽使用、提升画面质量,成为音视频开发者努力的重点。HEVC编码格式的推出为此带来了突破点。对于直播而言,大部分推拉
Stella981 Stella981
3年前
Redis ON Ubuntu
Redis简述    多余寒暄的话我也不多说,说Redis和Memcache的比对,那么你可以百度,必应或者有条件的谷歌一下。优点和缺点,看评论,适用场景网上说的也很多。我在这里说两点,首先SPRING.IO最支持的那肯定是它了。第二,豌豆荚的Codis以及官方都在做分布式。安装Windows   
Wesley13 Wesley13
3年前
JMX
最近在看flume的监控源码,发现flume的监控metrics是存放在MBean中,再由web服务暴露到其他监控系统中。这次又get到了一个新知识点,今天给大家分享一下。什么是JMX和MBean?    JMX(Java管理扩展)提供了一种简单的、基础的方法,用来管理诸如应用、设备和服务等资源。由于JMX技术是动
Stella981 Stella981
3年前
SkyWalking 快速接入实践
分布式应用,会存在各种问题。而要解决这些难题,除了要应用自己做一些监控埋点外,还应该有一些外围的系统进行主动探测,主动发现。APM工具就是干这活的,SkyWalking是国人开源的一款优秀的APM应用,已成为apache的顶级项目。今天我们就来实践下SkyWalking下吧。实践目标:达到监控现有的几个系统,清
Stella981 Stella981
3年前
Discuptor入门(二)
前言:最近在项目中看到有人使用的discuptor框架,因为没有接触过所以网上找了些资料.但最终发现开荒者太少,好像没什么人用那.最后感觉还是官方入门文档靠谱点.所以自己翻译了下(翻译器~),希望能帮助到别人.后续如果有什么新理解,我会继续补充的.discuptor简介:高并发无锁框架原文地址:https://github.com/LMAXExch
Easter79 Easter79
3年前
SVN的入门使用介绍
SVN简介:    SVN是Subversion的简称,是一个开放源代码(可编辑的字节文件)的版本控制系统,它采用了分支管理系统设计,兼备跨平台的特性,支持大多数常见的操作系统。简单一点说,SVN就是用于多个人共同开发同一个项目,达到共用资源的目的。其原理示意图大致如下:      !(https://static.oschin