- 博客(13)
- 收藏
- 关注
原创 ❤️学妹竟然问我网络视图和滚动视图的区别❤️,我一篇文讲的明明白白!
网格视图(GridView)GridView是按照行列的形式来显示内容,一般用于图片、图标的显示。GridView 也可以像第4章介绍ListView一样,以列表的形示来显示内容。首先来看一下GridView的一些基本属性。android:columnWidth :GridView中每一列的宽度 android:gravity : 控件上面信息的位置 android:numColumns : 设置GridView的列数 android:horizontalSpacing : 设置水平之间的间
2021-07-24 16:33:12
2532
3
原创 初探 Android组件化——一文带你一路走到黑
概述软件开发进程也是架构的演进过程,就拿Android来说,从最开始的MVC ,MVP ,MVVP ,再到后来的组件化,插件化,但归根到底一切的一切,都是为了项目更好的维护、迭代,降低开发成本。在一个项目的开发过程中,前期我们可能把所有的功能模块都放到了一个moudle中,这样能够快速的开发,但随着项目壮大,开发人员和功能的增加,就回导致代码越来越臃肿,各个模块之间的耦合越来越重,牵一发而动全身,这个时候为了保证项目质量,我们就需要对项目进行重构。我们可以根据业务模块进行查分,把不同的业务模块放
2021-07-23 15:14:05
302
原创 字节面试,饱经沧桑,还好没放弃,终于等到你(含面经+资料)
背景唠叨一下:先讲一下我的职业生涯哈,不想看的可以直接到最后一段。我是普通二本出身,一直飘在北京,先是做web网站开发,后转到了Android移动端,也没有什么好运气,就靠一点小机智,得过且过混到16年初,靠着移动互联网大浪把我推到了一家二线互联网企业,在这里才算真正重构了自己,感谢当时遇到的同事,以及有可以和公司一起成长的机会,先后经历了完整的插件化和RN重度封装,知道了虚拟机和Android源码的重要,并开始积累。18年初,由于公司内部重大调整,动荡不安,再加上自觉jvm和framework很.
2021-07-22 15:05:19
651
7
原创 2021最新腾讯Android面试真题解析(累计下载102万次,持续更新中)
背景没有绝对的天才,只有持续不断的付出。对于我们每一个平凡人来说,改变命运只能依靠努力+幸运,但如果你不够幸运,那就只能拉高努力的占比。2020年7月,我有幸成为了腾讯的一名Android开发工程师,在我闲暇之余,我整理了一套2017-2021历年腾讯Android面试真题解析,在github上累计下载102万余次,希望能给正在准备跳槽,找工作的朋友一点帮助。今年Android开发的整体招聘趋势可以概括为几句话:赛道中的公司在蒙眼狂奔,成熟业务借机补强,更多公司在观望。而面试大厂时更注重..
2021-07-20 16:30:20
421
5
原创 2021腾讯Android校招手册,全面!精华+收藏!!!
前言一名 Android 开发者如何在校招中脱颖而出?一想到这个问题,我想那么就肯定有人想说要去提升自己的竞争力,那么为什么要提升自己的竞争力?竞争力是什么?举个例子,每年高校计科和软工的毕业生至少也有上万人,如果5%的毕业生进入的 Android 移动开发领域,那么就是500人,然而其中还包括了知名学府、985/211学历的优质生源,他们会占据初级岗位60 ~ 70%的市场资源,剩下的30 ~ 40%才会留给我们这些一二三本或者是大专生。但是狼多肉少的情况已经形成,如果你想要获取属于你自己..
2021-07-19 11:45:04
1553
4
原创 2021腾讯 Android 面试真题解析
引言转眼就到了7月,离金九银十的时间段剩下不到60天了,又到了面试求职高峰期,很多人估计正在跳槽的路上,最近有很多网友都在求腾讯面试题。正好我之前电脑里面有这方面的整理,一份《2021 腾讯 Android 面试真题解析》,对照这些问题进行复习,将会事半功倍。废话不多说,直接上干货。《2021腾讯 Android 面试真题解析》Java基础部分HashMap 和 HashTable 以及 CurrentHashMap 的区别。 synchronized 和 volatile 、Re
2021-07-16 17:05:24
284
7
原创 Binder驱动的初始化 syscall原理(一)
在说明Binder之前。我们来想想Binder作为一个进程间通信的通道之前。我们常用的进程间通信有几种。Linux中,我们常见有一下几种进程间通信:1.pipe 管道2.FIFO named pipe 有名管道3.signal 信号4.消息队列5.socket 套子节6.SharedMemory 共享内存用户空间(用户态)和内核空间(内核态)一些操作系统允许所有用户与硬件做交互。但是,类unix操作系统在用户应用程序钱把计算机物理组织相关的底层细节都隐藏起来。当程序想试用
2021-07-15 14:14:26
529
原创 会Jetpack Compose有多重要!带你玩转安卓APP~附阿里教学:《Jetpack Compose 入门到精通》PDF
前言人们对于 UI 开发的预期已经不同往昔。现如今,为了满足用户的需求,我们构建的应用必须包含完善的用户界面,其中必然包括动画 (animation) 和动效 (motion),这些诉求在 UI 工具包创建之初时并不存在。为了解决如何快速而高效地创建完善的 UI 这一技术难题,我们引入了 Jetpack Compose —— 这是一个现代的 UI 工具包,能够帮助开发者们在新的趋势下取得成功。那么它能干什么呢?1、一个简单的倒计时器虽然是个小项目,但 Compose 的资料实在是太少了,不
2021-07-14 11:08:57
1448
3
原创 Android音量调节(一)音量键的处理流程
1.Android音量键调节音量流程整个流程分析是基于Android 8.0来进行讲解的2.Android流定义在Android系统中,音量都是分开控制的,比如媒体音量,铃声音量,闹钟音量,蓝牙音量,通话音量都是分开控制的。各种音量都是通过音频流来区别不同音量类型的。在Android 8.0里面,一共定义了11种流的类型,每种流类型都定义了最大音量(MAX_STREAM_VOLUME),最小音量(MIN_STREAM_VOLUME),以及默认音量(DEFAULT_STREAM_VOLUME),细
2021-07-14 09:35:01
4278
1
原创 Android-Activity详解
Activity是什么Activity是四大组件之一,它提供一个界面让用户点击和各种滑动操作,这就是Activity。Activity生命周期「onCreate()」:你必须实现此回调,它会在系统创建你的 Activity 时触发。你的实现应该初始化Activity的基本组件。「onStart()」:此回调包含 Activity 进入前台与用户进行互动之前的最后准备工作。到了这一步用户可见不可交互。「onResume()」:此时,该Activity位于Activity堆栈的...
2021-07-13 16:48:27
521
原创 探索 Android 消息机制
1. Android 消息机制概述Android 消息机制是由 Handler、Looper 和 MessageQueue 三者合作完成的,消息机制可以分为消息机制初始化、消息轮询、消息发送和消息处理 4 个过程来理解,消息机制是基于 Linux 的事件轮询机制 epoll 和用来通知事件的文件描述符 eventfd 来实现的 。消息机制初始化过程是从消息轮询器 Looper 的 prepare() 方法开始的,当线程调用 Looper 的 prepare() 方法时,prepare() 方法会调用
2021-07-13 09:53:37
161
原创 activity启动模式你所不知道的异常情况
前言虽然了解activity的四种启动模式,但是在一些复杂场景下,各种启动模式会出现的现象,以及现象的原因并不清楚,再加上个taskAffinity launchMode clearTaskOnLaunch 这些参数会使得更加懵逼。所以根据在实际应用中遇到的问题总结一下。主要内容要讲启动模式需要从Task ,taskAffinity 以及launchMode,还有标签四个方面入手,看这四个之前的关联以及影响。 Tasktask跟activity的启动息息相关,因为activity启动后都
2021-07-12 14:30:18
406
原创 硬核|一份来自阿里、腾讯的Handler面试专题!!!
前言Handler有多重要我就不着重强调了,Handler作用不仅仅是线程之间的切换,关键是它可以处理消息队列的消息,比如像消息队列放入消息,或者处理从消息队列获取到的消息。另外还还有延迟多长时间去发送消息的功能等等。另外像Android动画每一次刷新也需要Handler;Android是靠消息驱动的,没有消息机制手机根本无法工作,以上这些场景都用到Android消息机制,还有很多其他未知的场景可能也会用到Android消息机制,所以消息机制在Android中具有很重要的地位还有很多栗子,这里就
2021-07-07 13:45:33
79
8
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人