自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(606)
  • 论坛 (1)
  • 收藏
  • 关注

原创 【建议收藏】2021年中高级Android大厂面试秘籍,为你保驾护航金三银四,直通大厂

一眨眼又到年底了,每到这个时候,我们都会慢慢反思,这一年都做了什么?有什么进步?年初的计划都实现了吗?明年年初有跳槽的底气了吗?况且2020年我们经历了新冠疫情的洗礼,很多程序员都经历了失业,找工作的恐慌。导致今年的互联网环境太差,需要自己有足够的知识储备,才能够应对这凌冽的寒风。本文主要是整理了中高级Android需要会的(或者说面试被频繁问到的内容),主要作为参考大纲,之后会陆续更新每个详细部分,供大家参考,互相学习。一、计算机网络部分1.网页中输入url,到渲染整个界面的整个过程,以及中间用了

2020-12-23 17:01:54 2046 3

原创 字节跳动总监知乎1716赞的AndroidFramework开发笔记助我修行,不吃透感觉都对不起他

为什么要学Android Framework想要成为一名优秀的Android开发,你需要一份完备的 知识体系,在这里,让我们一起成长为自己所想的那样~。Android Framework 的知识有多重要,广泛的应用在各个领域。像掉帧监控,函数插装,慢函数检测,ANR 监控,启动监控,都需要对 Framework 有比较深入的了解,才能知道怎么去做监控,利用什么机制去监控,函数插桩插到哪里,反射调用该反射哪个类哪个方法哪个属性……另外 Framework 作为 Android 框架层,为 Ap

2020-09-14 10:32:19 1977 38

原创 2017-2020历年字节跳动Android面试真题解析(累计下载1082万次,持续更新中)

大家好!给大家介绍一下,这是我们持续更新整理的2017-2020字节跳动Android面试真题解析!早在2017年我们就建了第一个字节跳动的面试群给大家讨论面试的东西。期间累计有1825个群友分享了自己的Android面试真经,并提供了参考答案。这其中就有很多成员已经斩获今日头条、抖音等岗位的offer。当然也有很多成员面试虽然失败了,但也分享了很多失败的经验教训。在这里一并对他们表示感谢!...

2020-03-09 14:51:14 1391 2

原创 腾讯面试,面试官第一个问题是Int占多少字节,程序员不知所措

在一般的互联网公司的技术人员的面试中,大概会经历3到4轮的面试,差不多2-3轮的技术面,还有1轮的HR面试,有人面试题是有关“目标”,有的关于“方法”,有的关于“算法”,有的关于“基础”。在小编看来,面试是找工作的第一道难关,原本以为面试都会问很难的问题,如果是更好的公司,可能问的问题越难。但近日,一位程序员在面试腾讯的过程中,也遇到一位面试官问的一个基础的不能在基础的题,问题是Int占多...

2019-03-15 20:54:35 17131 33

原创 阿里腾讯Android开发十年,到中年危机就只剩下这套移动架构体系了!

蓦然回首自己做开发已经十年了,这十年中我获得了很多,技术能力、培训、出国、大公司的经历,还有很多很好的朋友。但再仔细一想,这十年中我至少浪费了五年时间,这五年可以足够让自己成长为一个优秀的程序员,可惜我错过了,我用这五年时间和很多程序员一样在困惑和迷茫中找不到出路!路其实一直都在那里,只是我们看不到而已!以前我一直被公司和技术牵着走,并不是自己在选择技术,而是不自觉地被推到了这个位置上。想...

2019-03-07 22:36:01 1149

原创 “新常态”下的Android程序员要面对哪些压力?如何破局?

导语最初所谓的互联网“寒冬”还要从 17 年开始说起。17 年之前,互联网行业一片欣欣向荣,各种新的理念和玩法层出不穷。然而,如果你之前留意过业内新闻的话,一些融资新闻能让你瞠目结舌。一个 APP 再加 PPT 就可以融百万甚至千万。但我觉得那并非正常的状态,而 17 年之后,当互联网热度降下来之后才是比较正常的状态,我们也不妨称之为“新常态”。之所以叫做新的常态也意味着,我认为这个行业很难再回到当年的荣光。如果从职业发展的角度来看,程序员这个职业存在一些缺点。1.程序员更多地和代码打交道,综合能力

2021-02-24 10:43:11 34 1

原创 在 View 上使用挂起函数 | 实战

遇到的问题我们有一个示例应用: Tivi,它可以展示 TV 节目的详细信息。关于节目信息,应用内罗列了每一季和每一集。当用户点击其中的某一集时,该集的详细信息将以点击处展开的动画来展示 (0.2 倍速展示):Tivihttps://tivi.app/应用中采用 InboxRecyclerView 库来处理图中的展开动画:fun onEpisodeItemClicked(view: View, episode: Episode) {InboxRecyclerV

2021-02-23 17:37:15

原创 京东APP收银台Kotlin化实践

我们把移动端App分为四大类React/Flutter AppWeb App(纯网页)Native App(纯原生App)Hybrid app (混合App)o 多View混合型:Native View与WebView交替出现的场景o 单View混合型:在同一个View内,同时包括Native View和Web Viewo Web主体型:移动应用的主体是WebView过去收银台模块采用单View混合型,我们称之为H5收银台。H5收银台开发快,一次开发,iOS和Androi

2021-02-21 19:13:19 70

原创 Java单例7种测试实践

单例:一个进程中只能存在唯一一个对象。1.饿汉模式。 主动型太粗暴。/** * @author :jiaolian * @date :Created in 2021-01-10 21:25 * @description:饿汉单例测试 * @modified By: * 公众号:叫练 */public class HungerSignletonTest { //类初始化会创建单例对象 private static HungerSignletonTest signleton

2021-02-20 17:56:38 11

原创 面挂了腾讯、阿里巴巴、美团Android客户端,我有一份避坑指南分享给你!

一、学习经历比较菜,辣鸡本科生,去年十一月份开始全面一些的接触安卓,学了第一行代码,面试后厂村某公司某部门,正好比较缺人给我这零基础的人过了,十二月份去实习,断断续续中间回学校考试有请假,大概有效实习时间是6个月吧,边学边做的需求,到7月底学校有事离开的。后来回来又干到9月。对于安卓的学习主要经历就是在公司学的这半年多,感谢能有这样的机会,leader和周围同事都特别好,手把手教学,虽然只学了半年多安卓,但是真实的项目也写过,完整的开发经历也有,有一个组件就是完全自己单人负责的五六千行的代码,还做了很多

2021-02-18 10:15:53 129 3

原创 App怎么做才能永不崩溃

你们项目中怎么处理程序崩溃?当然是try住了那异常日志怎么收集呢?一般会手写一个工具类,然后在可能出问题的地方通过特殊的方法进行记录日志,然后找时机上传这位同学,你是不是没有睡醒,我问的是异常日志,是你未知状态的异常,难道你要把整个项目try住?这样啊,那可以写一个CrashHandler : Thread.UncaughtExceptionHandler,在Application中注册。然后在重写的uncaughtException(t: Thread, e: Throwable.

2021-02-07 09:18:29 66 1

原创 做Android开发摸鱼是要付出代价的,被主管劝退,我后悔了!

我上月被裁现在找工作,准备面试的时候看了好多技术文章越看感觉自己掌握的东西越少。马上要去面试了感觉心好虚。事情经过是的 我的主管也觉得自己是猪…(主管原话)我去年招了 2 个安卓开发,其中一个同事面试上机布局还能布,结果第一周发现他大部分事给他表弟远程桌面在给他搞,这种工作能力、工作态度、还有职业操守如何能在公司立足!还有一个就是你, 本来我觉得你是可以培养下的,结果过年疫情期间 2 个月你在家根本没什么都没学。年后复工我一直在忙自己的事根本没关注进度,只看到每天有 commit,但后来我发.

2021-02-06 11:01:45 4779 8

原创 App开屏页如何设计?来看这五个常用的方法

今天为大家带来的文章是「开屏页」设计。用户只需要50毫秒(0.05秒)就能对网站/App做出评价,从而决定是留下还是离开。开屏页设计的合理性很大程度上影响了用户的初体验。第一印象很重要!很多用户会根据App/网站的初始形象来判断是否能信任这家公司或产品。那么如何解决快速感知的问题呢?首先将关注点放在App带给我们的第一印象上。合理的启动页能激发用户的潜意识,有助于吸引和留存合适的用户。在深入研究设计策略之前,先来了解一下启动画面的基本知识。一、什么是启动画面?启动画面指一系列连续的使用体验——从

2021-02-05 21:36:55 90

原创 做了5年Android开发,混吃等死的日子才是我人生最辛苦的日子!

缘起最近在论坛看到这样一个帖子:坐标深圳。4 月上旬公司解散。(现在想想好像是假解散,真裁员)这一个半月以来,从朋友内推,到拉勾、Boss 直聘,再到猎聘、智联招聘。从开始的精准投递,到后来的海投,加起来投递了上百家公司吧。面了差不多 10 家公司,拿到 2 个 offer,还都主动拒了。一个是 10 人的创业公司,啥资源都没有。谈薪资还要跟投资人申请。。另一个是传统行业转互联网,薪资给到位了,但是企业文化受不了。早上八点半上班、还要做广播体操、体检需要做乙肝两对半检查、试用期没有五险一

2021-02-04 10:55:09 2957 2

原创 Android 如何优雅的实现控件计时功能

废话不多说,今天给大家推荐一个 Android 多组件同步计时的开源工具类 TimingX。TimingX 是一个用于 Android 多组件同步计时的一个工具类,使用 Handler 实现。在项目中我们经常有计时的需求,具体表现为从00:00开始计时,即分秒的格式。TimingX 是 用于计时的,它目前不支持倒计时,不过如果你有这个需求也可以很容易的实现。项目地址Gitee:Timingx , 觉得用起来很爽的,请不要吝啬你的 Start 哦!同样欢迎大家访问我的个人博客:Thatcher

2021-02-04 08:50:59 83

原创 程序员在地铁上写代码被路人吐槽:有什么好装的!网友评论炸锅了!

现在的人自我意识越来越强,专注做自己的事不太会在意别人的眼光,不管别人如何评价路,毕竟脚下的路是自己在走。最近有位网友在职场论坛上发帖,说看见地铁上有一程序员大哥在写代码,并且配上了一张照片。从照片中可以看出,一位男子坐在靠地铁栏杆的地方,把包放在腿上,垫着电脑,噼噼啪啪的在工作,地铁上人不多,显然不是高峰期,他工作的状态很专注。没想到程序员的这个举动却被路人吐槽说:“有什么好装的”,地铁里手机信号都不好,如果遇到紧急的bug,早就下车找地方去修改了,还用在地铁里干。但这个网友的帖子立刻引来其他

2021-02-03 09:47:33 2889 6

原创 国内互联网公司为什么加班这么狠?

为了赶上去往北京东北角亦庄的公司班车,实习生王可每天早上 6 点 40 分起床。如果赶不上,她要面对非常煎熬的 1 小时 10 分钟,代价是从东三环 2 次换乘 21 站地铁。互联网人似乎越来越忙了。就在最近,快手宣布展开全员大小周(一种加班制度,大周工作六天、小周五天);为鼓励加班,字节跳动也表示要给周末加班的员工开出两倍薪水。但加班带来的劳累,有时候会成压死骆驼的最后一根稻草。1 月 3 日晚,职场社交 App 脉脉上有人透露,拼多多的一位年轻女员工在凌晨 1 点半回家的路上不幸猝死。随后有人.

2021-01-30 20:30:09 141

原创 疫情让“灵活用工”浮出水面,作为Android开发的你“灵活用工”了吗?

缘起2020年,许多企业在接受业绩严重受损的同时,还要承受巨大的人力成本压力。正当所有企业主们焦虑和恐慌的时候,因疫情下多企业探索的灵活用工却有“逆势增长”的趋向。首先是选择灵活用工的企业越来越多了,特别是软件开发、创意设计、文案策划、新媒体运营等需求量。##【移动开发灵活用工适应的场合】共享新经济模式下:音视频直播、微信小程序、跨平台开发、App外包、等。这里我归类了如下几类:1、应用层开发,不限于各种产品,主要还是Android原生开发,主要是各种性能优化。2、嵌入式开发,不限于各种开发

2021-01-28 09:53:34 1804 5

原创 字节跳动面试官亲述:Android开发学会了这些技术,你离大厂不远了

01面试=做匹配面试官的根本目的在于考察你这个人是否与招聘岗位相匹配,衡量能否胜任工作,我们在面试中要做到的就是让面试官相信我们能够与应聘岗位相匹配。针对一些面试题做了总结:1.请简单进行一下自我介绍首先请报出自己的姓名和身份。可能应试者与面试考官打招呼时,已经将此告诉了对方,而且考官们完全可以从你的报名表、简历等材料中了解这些情况,但仍请你主动提及。这是礼貌的需要,还可以加深考官对你的印象。其次,你可以简单地介绍一下你的学历、工作经历等基本个人情况。请提供给考官关于你个人情况的基本的、完整的信息

2021-01-23 09:22:39 186 1

原创 可能是目前最全的《Android面试题大全》(中高级)

前言最近在准备面试,然后复习下之前写过的项目,书籍,笔记,文章。一看很多知识点都没有印象,最可拍的是连自己为了防止忘记写的文章竟然都感觉不是自己写的。有些开始怀疑人生了。好了,废话少说,现在是求职高峰期,我把我收集到的资料分享给大家。也祝到家有个好工作。(本文资料 适合1-3年)从基础到架构进阶,包含了腾讯、字节跳动、小米、阿里、滴滴、美团、58、拼多多、360、新浪、搜狐等一线互联网公司面试被问到的题目,涵盖了初中高级安卓技术点。文章中所列主要为大纲部分,详细内容可以在文末自行获取哈!如果你熟练

2021-01-21 14:20:34 253

原创 Android菜鸡脉脉求助:4年开发经验,深圳不到15K,我该怎么办?

近日逛脉脉,看到这样一则帖子,引起了我的关注。楼主4年开发经验,月薪不到15K,满满的无力感!有网友吐槽:有后选后,无后选前,无后无前,算法也甜,条件允许,无脑后端,前途无量,预定高管,其次前端,需求频繁,温饱有余,人上人难,算法数据,收入可观,最好硕博,高端饭碗,测试开发,也可一战,随手一点,月入过万,走投无路,回家种田,日出日落,生活美满,鬼迷心窍,来客户端,表面繁荣,实则内卷,工作清闲,面试火箭,不到三年,全部玩完,65在后,绿帽在前,苦口婆心,金玉良言,奉劝诸位,擦亮双眼,有则改之,无则加勉

2021-01-21 09:24:41 170 2

原创 GitHub标星8.2K+,2021Android组件化最全开源项目

背景组件化作为Android客户端技术的一个重要分支,近年来一直是业界积极探索和实践的方向。每个大厂内部的各个Android开发团队也在尝试和实践不同的组件化方案,并且在组件化通信框架上也有很多高质量的产出。本文主要介绍我们的组件化方案,希望对从事Android组件化开发的同学能有所启发。为什么要组件化近年来,为什么这么多团队要进行组件化实践呢?组件化究竟能给我们的工程、代码带来什么好处?我们认为组件化能够带来两个最大的好处:1.提高组件复用性可能有些人会觉得,提高复用性很简单,直接把需要复用的代

2021-01-18 13:42:34 87 2

原创 用Java实现JVM第八章《数组和字符串》

案例介绍本章主要介绍如何实现让虚拟机处理数组和字符串,在虚拟机功能增强后,我们可以执行数组类型计算和输出字符串。本章需要新增实现数组指令;newarray、anewarray、arraylength、aload、astore、multianewarray、ldc,同时需要需要开发字符串池方法等。数组在Java虚拟机中是给比较特殊的概念,主要有以下原因;首先,数组类和普通的类是不同的。普通的类从class文件中加载,但是数组类由Java虚拟机在运行时生成。数组的类名是左括号([)+数组元素的类型描

2021-01-17 21:00:33 43

原创 用Java实现JVM第五章《指令集和解释器》

案例介绍本案例通过java代码实现jvm规范中指令集和解释器,完成后就可以开始执行1到100的加和计算。Java虚拟机顾名思义,就是一台虚拟的机器,而字节码(bytecode)就是运行在这台虚拟机器上的机器码。我们已经知道,每一个类或者接口都会被Java编译器编译成一个class文件,类或接口的方法信息就放在class文件的method_info结构中。如果方法不是抽象的,也不是本地方法,方法的Java代码就会被编译器编译成字节码(即使方法是空的,编译器也会生成一条return语句),存在method

2021-01-17 20:52:35 58

原创 用Java实现JVM第四章《运行时数据区》

**案例介绍本案例初步实现运行时数据区里;线程、Java虚拟机栈、帧、操作数栈、局部变量表。在运行Java程序时,Java虚拟机需要使用内存来存放各种各样的数据。Java虚拟机规范把这些内存区域叫作运行时数据区。运行时数据区可以分为两类:一类是多线程共享的,另一类则是线程私有的。多线程共享的运行时数据区需要在Java虚拟机启动时创建好在Java虚拟机推出时销毁。线程私有的运行时数据区则在创建线程时才创建,线程退出时销毁。线程私有的运行时数据区用于辅助执行Java字节码。每个线程都有自己的pc寄

2021-01-15 11:09:59 45

原创 用Java实现JVM第三章《解析class文件》附[classReader拆解]

案例介绍按照如下虚拟机规范,本文主要介绍java版本jvm提取class字节码方式。在java中没有无符号类型,例如js中byte取值是0~256、java中是-128 ~ +127,所以在实际处理字节码时[虚拟机规范u1、u2、u4],需要进行转换。[java虚拟机规范]每个Class文件都是由8字节为单位的字节流组成,所有的16位、32位和64位长度的数据将被构造成2个、4个和8个8字节单位来表示。多字节数据项总是按照 Big-Endian的顺序进行存储。①Big-Endian 顺序是指按高

2021-01-15 11:07:26 45 1

原创 用Java实现JVM第三章《解析class文件》

案例介绍本案例主要介绍通过java代码从class文件中解析;class文件、常量池、属性表;作为类(或者接口)信息的载体,每个class文件都完整地定义了一个类。为了使java程序可以“编写一次,处处运行”,Java虚拟机规范对class文件格式进行了严格的规定。但是另外一方面,对于从哪里加载class文件,给了足够多的自由。Java虚拟机实现可以从文件系统读取和从JAR(或ZIP)压缩包中提取clss文件。除此之外,也可以通过网络下载、从数据库加载,甚至是在运行中直接生成class文件。Java虚

2021-01-14 10:10:49 53

原创 用Java实现JVM第二章《搜索class文件》

案例简述本章节主要了解Java虚拟机从哪里寻找class文件并且读取class内字节码环境准备jdk 1.8.0IntelliJ IDEA Community Edition 2018.3.1 x64Notepad++ (插件安装HEX-Editor,用于查看class字节)配置信息调试配置配置位置:Run/Debug Configurations -> program arguments配置内容:-Xjre “C:\Program Files\Java\jdk1.8.0_1

2021-01-13 09:20:48 63

原创 自学Android,学多久可以加入字节跳动?

在回答自学Android,学多久可以加入字节跳动之前,我们先需要了解加入字节跳动的岗位职能要求,下图是我们从boss直聘上选取的今日头条Android工程师职位描述。职位要求假如我变成了一只小白。我想自学 Android,并且想要找到一份工作,我预计需要 6 个月的时间,前提条件是每天都处于高效率的学习状态当中,并且每天的学习时间至少在 12 个小时以上。即便是这样,我敢肯定,找到的工作肯定不会太好,勉强能够维持生活吧,毕竟是零基础入门啊。如果想更进一步,真正成为一名不可或缺的高级Android工程

2021-01-12 16:13:44 1054 3

原创 新手避坑指南:Android组件化开发详解

学习目标:熟练使用组件化开发,路由配置学习内容:**在使用组件化开发前首先要明确项目整体框架,划分模块及业务(重点),好的开始才会有好的结果。**模块划分明确后开始配置Module。如图我们要完成以下功能:1.点击商城进入ShoppingModule2.点击登录进入LoginModule3.点击账单红色区域展示账单列表(其他Module中的Fragment)(shareModule为公共模块)根据业务需求创建如下:在App的gradle.properties文件下添加,用于控制mo

2021-01-11 20:43:14 73

原创 Android开发,没有跟上跨平台技术发展是你职业规划最大的可悲

背景当下是移动互联网的时代,也是大前端技术紧密整合的时代。而移动系统与终端设备的碎片化,让我们一直头痛于在不同平台上开发和维护同一个产品的成本问题:使用原生方式来开发 App,不仅要求分别针对 iOS 和 Android 平台,使用不同的语言实现同样的产品功能,还要对不同的终端设备和不同的操作系统进行功能适配,并承担由此带来的测试维护升级工作。这对中小型团队而言无疑是非常大的负担,也无形中拖慢了追求“小步快跑”,以快速应对市场变化的互联网产品交付节奏。为解决这一问题,各类打着“一套代码,多端运行”口号

2021-01-08 15:58:00 63

原创 用Java实现JVM第一章《命令行工具》

背景描述为了更好的学习jvm阅读过《Java虚拟机规范》、《自己动手写Java虚拟机》,尤其是《自动动手写java虚拟机》可以更加清晰的看到全貌。对于程序开发者来说学习一个新东西最好事必躬亲,亲力亲为的做出一些demo,只有输出了结果心里才踏实。案例简述本章节主要是通过编写java代码,从main方法入口进行获取指令。例如;-version环境准备jdk 1.8.0IntelliJ IDEA Community Edition 2018.3.1 x64配置信息调试配置配置位置:Run/De

2021-01-07 16:52:06 35

原创 40 张图带你搞懂 TCP 和 UDP

这一篇文章是计算机网络连载文章的第四篇,历史文章请阅读一不小心画了 24 张图剖析计网应用层协议!TCP/IP 基础知识计算机网络基础知识总结下面开始本篇文章。运输层位于应用层和网络层之间,是 OSI 分层体系中的第四层,同时也是网络体系结构的重要部分。运输层主要负责网络上的端到端通信。运输层为运行在不同主机上的应用程序之间的通信起着至关重要的作用。下面我们就来一起探讨一下关于运输层的协议部分运输层概述计算机网络的运输层非常类似于高速公路,高速公路负责把人或者物品从一端运送到另一端,而计算

2021-01-06 19:48:02 86

原创 GitHub标星5.8+!移动开发音视频学习路线指南

最近经常遇到一些同学问我如何学习音视频,怎样才能快速上手?还有一些对音视频不了解的同学问我该不该学习音视频?作为一名音视频行业的10年老兵,我有一些思考分享给大家,希望能对你有所帮助。大背景2020年真的是一个多灾、多难的年份,冠状病毒的爆发使得本该举国欢庆的春节变得尤为沉闷。不能走亲,不能访友,除了呆在家里,那儿也不能去。正如张文宏大夫向我们劝解的,我们要将病毒给闷死。大家都盼着疫情可以赶紧过去,早点恢复正常的生活。但从目前的情况看,短时间内这个疫情是很难结束的。这不刚从中国消停了一阵,又跑到海外大

2021-01-05 14:35:00 104 1

原创 字节跳动面试官:一张图片占据的内存大小是如何计算

最近封装了个高斯模糊组件,正好将图片相关的理论基础也梳理了下,所以,这次就来讲讲,在 Android 中,怎么计算一张图片在内存中占据的大小,如果要优化,可以从哪些方向着手。提问阅读本篇之前,先来想一些问题:Q1:一张 png 格式的图片,图片文件大小为 55.8KB,那么它加载进内存时所占的大小是多少?Q2:为什么有时候,同一个 app,app 内的同个界面,界面上同张图片,但在不同设备上所耗内存却不一样?Q3:同一张图片,在界面上显示的控件大小不同时,它的内存大小也会跟随着改变吗?Q4:图片

2021-01-04 10:23:20 124

原创 从根上理解RXJava,深入RxJava 的适用场景和使用方式(Retrofit、RxBinding、RxBus)

前言我从去年开始使用 RxJava ,到现在一年多了。今年加入了 Flipboard 后,看到 Flipboard 的 Android 项目也在使用 RxJava ,并且使用的场景越来越多 。而最近这几个月,我也发现国内越来越多的人开始提及 RxJava 。有人说『RxJava 真是太好用了』,有人说『RxJava 真是太难用了』,另外更多的人表示:我真的百度了也谷歌了,但我还是想问: RxJava 到底是什么?鉴于 RxJava 目前这种既火爆又神秘的现状,而我又在一年的使用过程中对 RxJava 有

2020-12-31 11:25:48 71

原创 从新手到架构师,一篇就够!Android组件化最全开源项目(美团App、得到App、支付宝App、微信App、蘑菇街App...)

美团猫眼电影android模块化实战–可能是最详细的模块化实战1 写这篇博客的初衷首先一句话概括:我想把这几个月做的事情记录下来,并且希望尽量详细,希望读者读了这篇文章能够知道项目进行模块化,项目改业务框架可能会遇到哪些问题,具体每个步骤都做什么,而不是大致的了解。现在很多人都在谈模块化,网上有一大堆的博客实践都在讲这个。很多谈的只是模块与模块之间的解耦,并且大部分讲的是通过router路由进行解耦,其他谈的不多,而且不乏泛泛而谈。但将一个app真正做到解耦,运行。需要解决的事情远远不止解耦。业务架

2020-12-29 16:59:20 473

原创 Android开发已过时,转行风险大,Android原生开发出路在哪?

Android开发现状移动端开发的现状是什么?我们可以从自己写的代码中寻找线索。以 Android 为例,很多大公司的移动端开发者写的最多的代码是这样的:LinearLayout layout = new LinearLayout();layout.addView(xxxx);...或者也许是这样的:public class XXXView extends RelativeLayout { public XXXView(Context context) { this(

2020-12-28 13:32:24 123

原创 “你有什么要问我的吗?”面试最后千万别说这句蠢话,高情商都这么说

一般面试到最后,面试官都会问,“你有什么要问我的吗?”而很多伙伴,其实不大理解为什么面试官要问这个问题,意识不到它的重要性。实际上,在面试的最后,面试官特意留下时间让你提问,目的有两个:想知道你如果进了公司,最关心和重视哪些事情,这些会影响到你对工作的投入,对公司的贡献;给你一个机会,通过提问来突显你的专业能力或态度。企业和面试官需要的,不只是一个很会回答问题的“好学生”,更需要那些善于思考、能发现问题、对工作有热情、有期待的职场人。所以呢,这是一个很重要的机会哦。能提出好问题,不仅可以帮助你了

2020-12-25 10:11:06 124

原创 Java线程池相关知识点总结

Android中常见到的很多通用组件一般都离不开”池”的概念,如各种图片加载库,网络请求库,即使Android的消息传递机制中的Meaasge当使用Meaasge.obtain()就是使用的Meaasge池中的对象,因此这个概念很重要。本文将介绍的线程池技术同样符合这一思想。线程池的优点:重用线程池中的线程,减少因对象创建,销毁所带来的性能开销;能有效的控制线程的最大并发数,提高系统资源利用率,同时避免过多的资源竞争,避免堵塞;能够多线程进行简单的管理,使线程的使用简单、高效。线程池框架E

2020-12-21 11:06:24 82

空空如也

Android Developer的留言板

发表于 2020-01-02 最后回复 2020-05-19

空空如也

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

TA关注的人 TA的粉丝

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