3 mjzuo

尚未进行身份认证

我要认证

且放白鹿青崖间,须行即骑访名山。

等级
TA的排名 2w+

Android Activity 启动过程详解(上)

App 启动 Activity 时,需要向系统发送请求启动信号,处理该请求的服务就是 AMS (ActivityManagerService),这个操作是跨进程的。 init 解析 rc 脚本启动 Zygote,其所在进程 app_process (后改名 zygote )的 ZygoteInit 通过 forkSystemServer 创建一个进程,来启动各种系统服务,这里就包含 AMS。

2020-09-14 00:07:48

Android 系统启动过程详解

init 是 Android 第一个被启动的进程,init 的 PID 的值是 0,它通过解析 init.rc 脚本来构建出系统的初始运行形态,初始化程序 init.c 就是根据 init.rc 文件来初始化 android 内核驱动的,而其他 Android 系统服务程序大多都是在这个 init.rc 脚本中描述并被启动的。

2020-09-06 16:33:21

Android Canvas 圆角处理

在开发过程中,圆角背景和圆角图片应该都算是标配了,如下面效果:顶部一个自定义的进度背景 view,下面挨着路口放大图 ImageView。

2020-09-02 21:24:26

手撸算法 - 链表实践

给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位数字

2020-08-27 10:16:10

Android 主流 app 的沉浸式效果

什么是沉浸式呢?就是状态栏透明,将 activity 布局延伸到整个屏幕,所呈现的一种模式效果。

2020-08-07 22:24:37

Android UnknownHostException 不能 log 打印 ?

今天测试时发现,在无网情况下,在 try catch 内调用 Log 如下方法打印异常信息,无输出。同样也没有成功写入到本地文件,很奇怪。

2020-08-05 12:58:33

Android 仿滴滴首页嵌套滑动效果

CompNsViewGroup 内部包含顶部地图 MapView 和滑动布局 LinearLayout,而 LinearLayout 布局的内部即我们常用的滑动控件 RecyclerView,在这里为何还要加层 LinearLayout 呢?这样做的好处是,我们可以更好的适配不同滑动控件,而不仅仅是将CompNsViewGroup 与 RecyclerView 耦合住。

2020-08-04 11:30:30

Android ViewPager 禁止滑动背后的思考

目前viewPager需要的场景是,在pager的两个页面各自使用腾讯地图和高德地图,来验证两家地图的兼容性。因为viewPager没有提供禁止左右滑动的api接口,所以需要自己做处理,否则pager里的地图页面不能拖动。

2020-07-30 10:20:26

设计模式(十一)一文搞懂明白状态模式

关于状态模式的定义,我就直接引用Head First了:状态模式允许对象在内部状态改变时改变它的行为,对象看起来好像修改了它的类。

2020-06-08 00:17:09

设计模式(十)几段代码搞懂迭代器模式

关于迭代器模式的定义,我就直接引用Head First了:迭代器模式提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露其内部的表示。

2020-06-07 14:40:51

设计模式(九)一看就懂的模版方法模式

关于模版方法模式的定义,我就直接引用Head First了:模版方法模式在一个方法中定义了一个算法的骨架,而将一些步骤延迟到子类中。模版方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。

2020-06-04 23:45:57

Android 一份详细的 Charles 使用总结

Charles能够帮助我们查看设备和Internet之间的所有HTTP和SSL/HTTPS通信。这包括请求、响应和 HTTP 头,其中包含cookies和缓存信息。

2020-05-31 23:16:04

设计模式(八)一看就懂的外观模式

关于外观模式的定义,我就直接引用Head First了:外观模式提供了一个统一的接口,用来访问子系统中的一群接口。外观定义了一个高级接口,让子系统更容易使用。听起来很抽象,其实外观模式的本质就是使用组合的方式,来管理一个子系统内的一群对象,它的意图即提供一个接口,好让一个子系统更易于使用。

2020-05-31 18:38:56

设计模式(七)几段代码搞明白适配器模式

关于适配器模式的定义,我就直接引用Head First了:适配器模式将一个类的接口,转换成客户期望的另一个接口。适配器让原本接口不兼容的类可以合作无间。适配器模式的意图是进行接口的转换,这点很重要,这是区分装饰者模式的“扩展行为”和代理模式的“访问控制”的依据。

2020-05-31 12:11:10

设计模式(六)几段代码搞明白命令模式

关于命令模式的定义,我就直接引用Head First了:命令模式将“请求”封装成对象,以便使用不同的请求。目的是将发起请求的对象和具体执行处理请求的对象完全解耦,并能灵活扩展具有不同操作的接收者对象。

2020-05-30 19:25:58

设计模式(五)最全单例模式

关于单例模式的定义,我就直接引用Head First 了:单例模式确保一个类只有一个实例,并提供一个全局访问点。单例模式,按加载时机可以分为:饿汉方式和懒汉方式。

2020-05-29 17:29:38

设计模式(四)一文搞明白装饰者模式

装饰者模式动态的将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案 。其实装饰者模式的重点在于给对象动态的附加职责,通过对象组合的方式,运行时装饰对象,在不改变任何底层代码的情况下,给现有对象赋予新的职责。

2020-05-28 14:04:56

设计模式(三)一文彻底搞明白工厂和抽象工厂

在正式的介绍工厂模式和抽象工厂模式之前,我们来先简单的认识下简单工厂,简单工厂其实并不是一个设计模式,反而更像是一种约定俗称的编程习惯

2020-05-27 00:05:45

设计模式(二)带你搞懂观察者模式

观察者模式定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新

2020-05-25 14:48:01

设计模式(一)带你搞懂策略模式

关于策略模式的定义,我就直接引用HeadFirst书中的描述了:策略模式定义了算法蔟,并分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户

2020-05-25 02:00:51

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 签到王者
    签到王者
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 新人勋章
    新人勋章
    用户发布第一条blink获赞超过3个即可获得
  • 阅读者勋章Lv3
    阅读者勋章Lv3
    授予在CSDN APP累计阅读博文达到30天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 原力探索
    原力探索
    参与《原力计划【第二季】——打卡挑战》的文章入选【每日精选】的博主将会获得此勋章。
  • 学习力
    学习力
    《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。
  • 原力新人
    原力新人
    在《原力计划【第二季】》打卡挑战活动中,成功参与本活动并发布一篇原创文章的博主,即可获得此勋章。
  • 分享达人
    分享达人
    成功上传6个资源即可获取