Android高级进阶之路【五】深入剖析Android系统Binder通讯机制
概述最近在学习Binder机制,在网上查阅了大量的资料,也看了老罗的Binder系列的博客和Innost的深入理解Binder系列的博客,都是从底层开始讲的,全是C代码,虽然之前学过C和C++,然而各种函数之间花式跳转,看的我都怀疑人生。毫不夸张的讲每看一遍都是新的内容,跟没看过一样。后来又看到了Gityuan的博客看到了一些图解仿佛发现了新大陆。 下面就以图解的方式介绍下Binder机制,相信
Kotlin实战【五】Kotlin中的异常
一、kotlin如何抛异常Kotlin中的异常处理与Java或者其他语言中的处理方式相似。一个函数可以以正常方式结束,或者当错误发生的时候抛出异常。函数调用者捕获这个异常并处理它;如果没有,异常重新在调用栈向上抛。Kotlin中的异常处理语句的基本形式和Java是相似的: java中:if ( 0 <= percentage <= 1
Android高级进阶之路【四】一文读懂 Handler 机制
前言 做 Android 开发肯定离不开跟 Handler 打交道,它通常被我们用来做主线程与子线程之间的通信工具,而 Handler 作为 Android 中消息机制的重要一员也确实给我们的开发带来了极大的便利。 可以说只要有异步线程与主线程通信的地方就一定会有 Handler。 那么,Handler 的通信机制的背后的原理是什么? 本文带你揭晓。 注意:本文所展示的系统源码基于 An
应付Android面试看这一篇文就够了(含面试真题)
我的微信小号有一组特殊的朋友。他们从 CSDN上看到我之前发布的博客后,留下邮箱询要面试资料的,我在邮箱发送资料之后我们互相添加微信认识聊上的,和他们沟通交流中可以明显感觉他们的就业焦虑。一方面担心受疫情的影响,心仪的公司缩招或者不招;另一方面则是自己技术的不自信,担心面试不通过。我很能理解他们,有一个哥们我们前后断断续续聊了将近有一个月的时间。上周,这个哥们激动地跟我说:“多亏了你分享的那份面试
Kotlin实战【四】迭代事物:while和for
1、while循环kotlin的while和do-while与Java语法一致,这里简单看一下 while (condition) { //当条件为真时,代码体执行 /*...*/ } do {//无条件的执行一次,之后当条件为真时执行 /*...*/ } while (condition) 2、for循环for循环仅以一种形式存在,和java的for-each循环一
今年的毕业生太难了,非常接地气的Android中高级面经给你们助力
前言前几天有个应届毕业生的程序员在微信上找到我,并向我吐槽了一下他目前的心酸现状。我对此除了表示同情以外,只能剩下鼓励了,对于不能帮助他,我深感我自己力量的薄弱,意识到了我必须强大才行,这样才能帮助别人。如果你是一个无名小卒,那么自身都难保,还凭什么说去帮助别人呢?因为我想让这个世界变的美好一点点。 这个应届毕业生的能力到底如何,我不清楚,我从和他的对话中可以看出他是一个对技术执着而且充满着
Android高级进阶之路【三】看完这篇再不会Android动画框架,我跪搓衣板
Android动画可作用于View/ViewGroup,Actvity,Fragment实现炫酷的交互效果。经过几天的探究,搞清楚了各类动画的使用和动画的实现原理,在此记录以下。尽管Android动画有好几种类别,但是各种动画的实现核心都是TimeInterpolator->Interpolator->各种Interpolator。大致过程是通过Interpolator计算出时间相关的
一个低学历程序员开发逆袭大厂的心路历程,看完真心给跪了
前言假如现在失业,你觉得自己多久可以找到新工作?台湾省著名导演李安用了六年史蒂夫·乔布斯用了三年爱因斯坦用了1年我的一个程序员哥们小马,从突然被裁到高薪入职新公司只用了短短5天我惊叹于他的速度,他却指了指他的黑眼圈说:“没有永远的金饭碗,在大厂也一样会被淘汰,只有持续学习,不断精进,裁员就追不上你!”原来,他在刚收到公司裁员风声的时候就开始投简历,他不但精心修改过自己的简历,还请教大佬打磨简历,几
Android高级进阶之路【二】十分钟彻底弄明白 View 事件分发机制
前言Android事件分发机制是Android开发者必须了解的基础网上有大量关于Android事件分发机制的文章,但存在一些问题:内容不全、思路不清晰、无源码分析、简单问题复杂化等等今天,我将全面总结Android的事件分发机制,我能保证这是市面上的最全面、最清晰、最易懂的本文秉着“结论先行、详细分析在后”的原则,即先让大家感性认识,再通过理性分析从而理解问题;所以,请各位读者先记住结论,再往下继
Kotlin实战【三】表示与选择
前言本章我们将学习怎么样在Kotlin中通过枚举和when实现表示与选择。一 、表示与选择之枚举1.1枚举的定义我们来看一下java中的用法:public enum Color { RED, ORANGE, YELLOW, GREEN, BLUE, INDIGO, V
Android高级进阶之路【一】Android中View绘制流程浅析
前言本章我们将学习怎么样在Kotlin中通过枚举和when实现表示与选择。一 、表示与选择之枚举1.1枚举的定义我们来看一下java中的用法:public enum Color { RED, ORANGE, YELLOW, GREEN, BLUE, INDIGO, V
Kotlin实战【二】Kotlin基本要素
前言本章我们将学习怎么用kotlin声明任何程序都存在的基本要素:变量、函数、类以及属性的概念一、函数和变量1.1 Hello World让我们以一个经典的例子开始:打印“Hello, world!”fun main(args: Array<String>) { println("He
Kotlin实战【一】Kotlin定义与目的
Kotlin是什么针对Java平台的新编程语言Kotlin简洁、安全、务实,专注于Java代码的互操作性Kotlin是一种在Java虚拟机上运行的静态类型编程语言,被称之为Android世界的Swift,由JetBrains设计开发并开源在Google I/O 2017中,Google宣布Kotlin成为Android官方开发语言一、Kotlin初体验没错,如下图,纵享丝滑~~~~~~
是让人耳目一新的 Jetpack MVVM 精讲啊!
前言最近在后台 时有收到 读者的留言,说能不能出一期 Jetpack MVVM 精讲,以及配套一份简练的案例,好 把玩把玩、感受感受、加深对 MVVM 的印象。答案是肯定的。面向标准化开发已成现实金九银十,相信有不少读者在抓紧机会面试。Android 市场已今非昔比。在过去,迫于招人的压力,应试者只需了解四大组件、视图、网络请求,即可谋得一份满意的工作。现如今,Jetpack 架构组件 及 标准化
一篇文章带你了解——Kotlin协程
前言本文的定位是协程的稍微深入的全面知识,也会示例一些简单的使用,这里不对suspend讲解,,也不对协程的高级用法做阐述(热数据通道Channel、冷数据流Flow...),本文主要讲协程稍微深入的全面知识。Kotlin Coroutine 简介Kotlin 中的协程提供了一种全新处理并发的方式,您可以在 Android 平台上使用它来简化异步执行的代码。协程是从&
Jetpack架构组件库-介绍与基本用法
前言本次主要讲解的内容:1、Jetpack介绍2、Jetpack架构组件库的相关用法一、Jetpack 介绍1、什么是JetpackGoogle 官方解释:Jetpack 是一个由多个库组成的套件,可帮助开发者遵循最佳做法,减少样板代码并编写可在各种 Android 版本和设备中一致运行的代码,让开发者精力集中编写重要的代码。Jetpack 是 Google 为解决 Android 开发碎片化,打
面试官: 谈谈你对Java反射的理解
Java的类加载Java在真正需要使用一个类时才会去加载类,而不是在启动程序时就载入所有的类,因为大多数使用者都只使用到程序的部分资源,在需要某些功能时再载入某些资源,可以让系统资源运用的更高效。类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在Jvm的方法区内,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区内的数据结构。类的加载的最终产品是位于堆区
Java基础:Java虚拟机(JVM)
JVM是Java Virtual Machine的缩写。它是一种基于计算设备的规范,是一台虚拟机,即虚构的计算机。
Java并发编程基础
编写优质的并发代码是一件难度极高的事情。Java语言从第一版本开始内置了对多线程的支持,这一点在当年是非常了不起的,但是当我们对并发编程有了更深刻的认识和更多的实践后,实现并发编程就有了更多的方案和更好的选择。本文是对并发编程的一点总结和思考,同时也分享了Java 5以后的版本中如何编写并发代码的一点点经验。
一定能看到懂的Android常见界面布局详解
关于Android常见界面布局详解。