自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 资源 (5)
  • 收藏
  • 关注

原创 第四章 AMS深入浅出

一个App是可能有多个TaskRecord存在的,一般情况下,启动App的第一个activity时,AMS为其创建一个TaskRecord任务栈特殊情况,启动singleTask的Activity,而且为该Activity指定了和包名不同的taskAffiffiffinity,也会为该activity创建一个新的TaskRecord。对AMS 调用轨迹分析是我们破解AMS的第一条线,希望读者反复阅读,以真正理解其中涉及的知识点,尤其是和Android运行环境及Context相关的知识。

2023-06-16 09:39:21 127

原创 第三章 Android系统启动流程

Android系统是基于Linux系统,所以当我们开机的时候,第一个启动的是Init进程,而后面所有的进程都是Init的子进程,Zygote就是Init进程通过解析init.rc文件之后,启动的一个进程。在运行Android程序后首先会启动init 进程,此进程是Linux 系统中用户空间的第一个进程,进程编号为1。多线程问题:zygote是通过fork生成进程的,而多线程是不允许使用fork的,否则可能造成死锁,同时binder又是多线程的,所以干脆不同binder而使用socket。

2023-06-16 09:26:08 177

原创 第二章 JNI详解

否则,它返回一份副本。Java方法被调用时,JVM会生成对应的 native 方法名,例如 com.example.StrHelper.getStr() ,JVM会在JNI库中查找 Java_com_example_StrHelper_getStr 函数,如果找到了,就会保存一个该 JNI 函数的指针,直接调用该指针。我们都知道,java的数据类型和C/C++的数据类型并不一致,典型的例子是:java中的String是一个引用数据类型,但在C语言中的String是以NULL结尾的字符串数组。

2023-06-16 09:19:00 292

原创 第一章 深入解析Binder

全解析Binder通讯机制的原理

2023-04-16 18:30:00 172

原创 Android常用类-TimeUnit的使用

//关于秒的常用方法 TimeUnit.SECONDS.toMillis(1) 1秒转换为毫秒数 TimeUnit.SECONDS.toMinutes(60) 60秒转换为分钟数 TimeUnit.SECONDS.sleep(5) 线程休眠5秒 TimeUnit.SECONDS.convert(1, TimeUnit.MINUTES) 1分钟转换为秒数 //TimeUnit.DAYS 日的工具类 //TimeUnit.HOURS ..

2022-01-12 16:16:44 2135

转载 一款好用的终端工具—MobaXterm

对于一名开发,少不了要经常和Linux服务器打交道,如何操作Linux服务器呢?这就需要一个终端工具了。1、终端工具HaC我用过好几种终端工具,包括winScp、XShell、SecureFXP、xftp。终端工具是分两种的, 一种是SSH,命令操作模式 ssh 一种是FTP,可视化,可以很方便的上传和下载文件。 ftp 2、MobaXterm介绍其实HaC我一直是使用SecureCRT和SecureFXP的,这两款工具功能已经很强大了,但是要..

2021-08-22 20:20:02 848

原创 Android Service的生命周期

Android Service的生命周期一个Service 是一段长生命周期的,没有用户界面的程序,可以用来开发如监控类程序。比较好的一个例子就是一个正在从播放列表中播放歌曲的媒体播放器。在一个媒体播放器的应用中,应该会有多个activity,让使用者可以选择歌曲并播放歌曲。然而,音乐重放这个功能并没有对应的activity,因为使用者当然会认为在导航到其它屏幕时音乐应该还在播放的。在这个例子中,媒体播放器这个activity 会使用Context.startService()来启动一个servic

2020-12-24 15:19:17 611

转载 常用滤波算法比较及复合算法优缺点分析

 数字滤波方法有很多种,每种方法有其不同的特点和使用范围。从大的范围可分为3类。1、克服大脉冲干扰的数字滤波法(一). 限幅滤波法; (二).中值滤波法2、抑制小幅度高频噪声的平均滤波法(一).算数平均;(二).滑动平均;(三).加权滑动平均;(四)一阶滞后滤波法3、复合滤波法 下面介绍常用的8种滤波方法:(一)克服大脉冲干扰的数字滤波法:克服由仪器外部环境...

2018-08-10 22:29:34 5184

集成电路封装工艺介绍.pdf

集成电路封装工艺介绍.pdf

2022-07-05

live-app-android-master.zip

实时位置共享此用于实时位置共享的开源应用程序是使用HyperTrack构建的。 开发人员现在可以使用HyperTrack Live源代码在几分钟之内将实时位置共享构建到他们的应用程序中。 对于iOS,请参考“实时位置共享”。此用于“实时位置共享”的开源应用程序是使用HyperTrack构建的。 开发人员现在可以使用HyperTrack Live源代码在几分钟之内将实时位置共享构建到他们的应用程序中。 对于iOS,请参阅我们的开源iOS系统信息库。 Google Play商店提供了适用于Android的HyperTrack Live,供已通过HyperTrack注册的用户使用。 适用于iOS的HyperTrack Live在公共App Store上可用。 :waving_hand:阅读我们的博客文章公告,以了解有关此sa的更多信息

2022-01-12

Origin8.0_线性拟合教程.pdf

Origin8.0_线性拟合教程.pdf里面详细讲述了使用Origin进行线性拟合的过程。

2019-02-15

循环冗余校验码(CRC)计算源代码合集

循环冗余校验码(CRC)计算源代码合集,里面包含了各种编程语言(包括C,C++,单片机等)CRC代码的实现

2019-02-15

Cortex-A8介绍.docx

Cortex-A8介绍

2017-07-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除