Android进阶学习
文章平均质量分 94
学习Android进阶,学成升职加薪
阿尔法789
热爱分享,Android学习资料、进阶视频、面试合集等等可以私信我
展开
-
「设计模式(四) - 责任链模式」
一、能力越大责任越大顾名思义,“责任链”就像是一根链条串联起来的一系列操作,每个操作都息息相关。请假的审批流程,报销流程等等依据不同职位对应的人员完成相应的审批操作;可以说是层层推进的。而我们最终关心的结果就是同意或者驳回。二、责任链模式 Chain of Responsibility当请求端Client发出请求时,为了降低请求者Client与处理对象们Handlers之间的耦合;同时满足众多Handlers都能有机会参与到对请求的处理,将Handler对象组成一条链。而请求随着链不断传递,直到被处原创 2022-02-25 16:06:02 · 2277 阅读 · 1 评论 -
「Kotlin篇」原来,协程是这么挂起的
协程这个概念已经出来很长时间了,网上对它的定义是非阻塞式的线程框架,讨论最多的也是协程的挂起、恢复以及线程切换,那到底挂起是个什么样的概念,怎么就挂起了,怎么就又恢复了?带着这些问题,我走上了不归路…在开始探索协程挂起、恢复之前,需要先了解一下几个重要的名词和概念。1. ContinuationContinuation在协程中其实只是一个接口,其作用有点类似RxJava中Observer,当请求成功时,触发onNext继续更新UI或者下一步的操作。只不过在协程中,Continuation包装了协程在原创 2022-02-25 13:40:20 · 1011 阅读 · 0 评论 -
「 Dart 」一文了解 Dart 基础知识
本文介绍了 Dart 的环境搭建以及 Dart 语法,包括变量与常量、数据类型、函数、操作符、类、泛型等等。安装在 Dart for Windows (gekorm.com) 下载安装包安装 Dart SDK。在 VSCode 中安装 Dart 和 Code Runner 插件。新建一个 .dart 文件,输出 “Hello dart!” :void main() { print('Hello dart!');} Run Code:Hello dart! 变量和常量原创 2022-02-24 22:20:48 · 1590 阅读 · 0 评论 -
《Android编程权威指南》之数据绑定与MVVM(一)
《Android编程权威指南》第19 章第一篇,这里将会开发一个新应用了。翻译过来叫节拍盒子。此项目将学习使用 Jetpack 架构组件库中的数据绑定(databinding)工具,并用它实现 MVVM 新架构。此外,还会学习使用资源系统(assets system)存储声音文件。一、为何要用MVVM架构fragment 和 activity 开始膨胀,逐渐变得难以理解和扩展。添加新功能或修复 bug 需要耗费很长时间。此时,控制器层就需要做功能拆分了。MVVM 架构模型可以帮助我们做拆分。对于架构模原创 2022-02-24 21:40:03 · 435 阅读 · 0 评论 -
“深入交流“系列:Okhttp(二)拦截器的实现
Okhttp拦截器详解Okhttp拦截器介绍概念:拦截器是Okhttp中提供的一种强大机制,它可以实现网络监听、请求以及响应重写、请求失败重试等功能。我们先来了解下Okhttp中的系统拦截器:RetryAndFollowUpInterceptor:负责请求失败的时候实现重试重定向功能。BridgeInterceptor:将用户构造的请求转换为向服务器发送的请求,将服务器返回的响应转换为对用户友好的响应。CacheInterceptor:读取缓存、更新缓存。ConnectInterceptor:原创 2022-02-24 20:14:44 · 575 阅读 · 0 评论 -
[译]Flutter Favorite之路由包beamer
快速开始最简单的使用是用 RoutesLocationBuilder 实现,这种方式产出的代码最少。对于导航场景较少的应用或者页面栈浅的应用(即页面很少堆叠在一起)来说,是很棒的选择。class MyApp extends StatelessWidget { final routerDelegate = BeamerDelegate( locationBuilder: RoutesLocationBuilder( routes: { // Return eithe原创 2022-02-24 16:18:49 · 591 阅读 · 0 评论 -
[Matrix系列-4]: TracePlugin 之 EvilMethodTracer 源码分析
背景evil字面意思是邪恶的、有害的意思。这个方法很邪恶就是该方法存在耗时多的情况,糟老头子坏的很呐!!因此,matrix的目的就是想去统计每个方法的执行耗时。大体的流程是这样的:在calss字节码转dex文件阶段,通过自定义transform插件,利用ASM工具来操作修改.class文件。在每个方法执行前后插入AppMethodBeat.i 和AppMethodBeat.o方法,在运行期计算两个的差值就得到方法的耗时。优点:兼容性好 无需通过hook手段优化插桩性能 在方法收集阶段会主动过滤简原创 2022-02-23 16:59:18 · 758 阅读 · 0 评论 -
[Compose] ViewModel
在命令式 UI 里,当订阅到 LiveData 数据变化时可明确指定 View 去刷新变化的值,比如 label.text = newValue,但是声明式 UI 里由于无法指示界面更新,需要为 UI 分配值,当值发生变化,界面会自动刷新, Compose 的 State<T> 负责此自动“重绘“(在 Compose 中,被称为 recomposition)。因此,需要将 LiveData 转换为 State。添加依赖除了 ViewModel 依赖还需要另一个依赖项将 LiveData 转换原创 2022-02-23 15:08:29 · 2300 阅读 · 0 评论 -
[Android] 插件化框架Virtual APK实现原理解析
1 . 前言Virtual APK是滴滴出行自研的一款优秀的插件化框架,其主要开发人员有任玉刚老师说到任玉刚老师,他可以说是我Android FrameWork层的启蒙老师。刚接触Android的时候,在拖了几年控件、写了一些CURD操作后,就得出了这样的结论:客户端太无聊了,现在已经完全精通安卓开发了。直到有一天看了一本叫做《Android开发艺术探索》的书,不禁感慨:原来Android开发竟然还能这么玩,之前的认知实在是浅薄言归正传,Virtual APK的特性和使用方法不是本文重点,如有需要了解原创 2022-02-23 14:49:22 · 895 阅读 · 0 评论 -
30秒上手新一代Http请求神器RxHttp
开胃菜话不多说,30s倒计时开始,先来看看如何发送一个Get请求,如下:RxHttp.get("http://...") //第一步,确定请求类型,可以选择postForm、postJson等方法 .asString() //第二步,确定返回类型,这里返回String类型 .subscribe(s -> { //第三步,订阅观察者,第二步返回Observable对象 //请求成功 }, throwable -> {原创 2021-08-27 14:52:12 · 735 阅读 · 1 评论 -
【思货】kotlin协程优雅的与Retrofit缠绵-正文
1. Callback在最初的学习使用中,Callback异步方法是Retrofit最基本的使用方式,如下:接口:interface DemoService { @POST("oauth/login") @FormUrlEncoded fun login(@Field("name") name: String, @Field("pwd") pwd: String): Call<String>} 使用:val retrofit = Retrofit.Buil原创 2021-08-26 22:09:39 · 583 阅读 · 0 评论 -
【技术漫谈】Android高手进阶,这个必须要学 !
前言我希望我做一件事,是把大家带到最底层,最下面的一个地方,就像我们游泳一样,我带你到海洋最深处的一个地方,那里面有很多的宝藏正文一我最近也是跟一些同学的交流啊,拿我自己的一些事情来看,其实做了很多的一些。更加底层的一些东西了,包括一些。电子方面的一些编程,然后也会涉及到一些Linux里面的一些驱动方面的一些事情,最近是在做这方面的事情,其实无论是做Android层面还是做应用层,还是做我们的嵌入式,还是说去做一些。比较接近底层,你说用电平或者说是用一些信号量。或者说是一些脉冲来做一些东西,实原创 2021-08-26 17:24:43 · 293 阅读 · 0 评论 -
【Android珍藏】推荐10个炫酷的开源库
前言技术群里面经常有人问到一些炫酷的UI效果实现方法,有时候我都是给一个相同或者相似效果的Github链接,有同学私信给我说,大佬,怎么这些效果你都能找到?你是怎么搜索的,或者有其他什么秘方?会利用Google、百度等搜索工具搜索是一方面,另一个重要的方面是:记录搜藏,当看到一个炫酷的效果的时候,记得收藏起来,记录到自己云笔记或者收藏夹里,看得多了,印象就比较深刻,当遇到类似效果的时候,到自己记录收藏的地方找就是了。今天为大家推荐我所收藏的一些炫酷实用的效果的开源库(选择其中10个)。1、Discret原创 2021-08-26 14:37:59 · 460 阅读 · 0 评论 -
【AAC 系列三】深入理解架构组件:LiveData
0. 前言在之前我们深入研究了 Lifecycle 的实现原理,并在文末提到了LiveData 以及 ViewModel,这次我们来讲讲 LiveData。LiveData 是 Android Architecture Components 中的一员,先看下官方是如何介绍的:LiveData is an observable data holder class. Unlike a regular observable, LiveData is lifecycle-aware, meaning it原创 2021-08-25 20:24:51 · 347 阅读 · 0 评论 -
Android 中的 MVP:如何使 Presenter 层系统化?
MVP(Model View Presenter)模式是著名的 MVC(Model View Controller)的衍生物,并且是 Android 应用程序中管理表示层的最流行的模式之一。这篇文章首次发表于 2014 年 4 月,从那以后就一直备受欢迎。所以我决定更新它来解决人们心中的大部分疑虑,并将代码转换为 Kotlin 语言形式。自那时起,架构模式发生了重大变化,例如带有架构组件的 MVVM,但 MVP 仍然有效并且是一个值得考虑的选择。什么是 MVP 模式?MVP 模式将 Presente原创 2021-08-24 20:57:24 · 798 阅读 · 0 评论 -
Android MVP 架构必要知识:第三部分(Dialog,ViewPager,RecyclerView 以及 Adapters)
Android MVP 架构系列文章的第1部分和第2部分自发布以来非常受欢迎,对此我感到很高兴。同时也因为你们的建议和贡献,项目优化得更好了。在这个开发过程中,许多人询问过如何在这个架构中使用 Dialog 以及基于 Adapter 的视图。因此,我会在这篇博客中补充这两点。如果你还没有阅读前面两篇博客,那么我会强烈建议在阅读本文之前阅读这两篇博客。下面是博客的链接地址:[译] Android MVP 架构必要知识:第一部分[译] Android MVP 架构必要知识:第二部分Mindorks.原创 2021-08-24 15:46:03 · 344 阅读 · 0 评论 -
[Jetpack] 人生苦短,让脚手架为你节省时间
温馨提示: 本文以《让人耳目一新的 Jetpack MVVM 精讲》作为前置知识的铺垫,假定小伙伴们在阅读本文前 已对精讲篇的内容有了一定理解。背景人,不是机器,人注定会犯错。尤其是在 多人协作的软件工程背景下 快速版本迭代的时候。有限的注意力应始终放在刀刃上,因而那些机械重复的模板代码,应在后台自己默默安排好一切、免除因各种手工操作的失误 而造成的不可预期的后果。脚手架项目应运而生。架构图总览脚手架项目不仅仅是我一个人的创作,也是集许许多多优秀开发者参与演化的结果。该项目主要包含 表现.原创 2021-08-24 14:01:22 · 208 阅读 · 0 评论 -
# HenCoder Android 自定义 View 1-8 硬件加速
硬件加速这个词每当被提及,很多人都会感兴趣。这个词给大部分人的概念大致有两个:快速、不稳定。对很多人来说,硬件加速似乎是一个只可远观而不可亵玩的高端科技:是,我听说它很牛逼,但我不敢「乱」用,因为我怕 hold 不住。今天我试着就把硬件加速的外衣脱掉(并没有),聊一聊它的原理和应用:硬件加速的本质和原理;硬件加速在 Android 中的应用;硬件加速在 Android 中的限制。本篇是 「HenCoder Android 开发进阶」自定义 View 部分的最后一篇:硬件加速。如果你没听说过原创 2021-08-21 17:28:49 · 291 阅读 · 1 评论 -
Android进阶知识:事件分发与滑动冲突
1、前言Android学习一段时间,需求做多了必然会遇到滑动冲突问题,比如在一个ScrollView中要嵌套一个地图View,这时候触摸移动地图或者放大缩小地图就会变得不太准确甚至没有反应,这就是遇到了滑动冲突,ScrollView中上下滑动与地图的触摸手势发生冲突。想要解决滑动冲突就不得不提到Android的事件分发机制,只有吃透了事件分发,才能对滑动冲突的解决得心应手。2、事件分发机制相关方法Android事件分发机制主要相关方法有以下三个:事件分发:public boolean dispat原创 2021-07-01 20:34:28 · 309 阅读 · 0 评论 -
RxJava2 只看这一篇文章就够了
0. 简介RxJava 其实就是提供一套异步编程的 API,这套 API 是基于观察者模式的,而且是链式调用的,所以使用 RxJava 编写的代码的逻辑会非常简洁。RxJava 有以下三个基本的元素:被观察者(Observable)观察者(Observer)订阅(subscribe)下面来说说以上三者是如何协作的:首先在 gradle 文件中添加依赖:implementation 'io.reactivex.rxjava2:rxjava:2.1.4'implementation 'io原创 2021-07-01 15:25:06 · 217 阅读 · 0 评论 -
[译] 2019 年的 Android 网络 —— Retrofit 与 Kotlin 协程
原文地址:Android Networking in 2019 — Retrofit with Kotlin’s Coroutines原文作者:Navendra Jha译文出自:掘金翻译计划本文永久链接:github.com/xitu/gold-m…译者:feximin2019 年的 Android 网络 —— Retrofit 与 Kotlin 协程2018 年,Android 圈发生了许多翻天覆地的变化,尤其是在 Android 网络方面。稳定版本的 Kotlin 协程的发布极大地推..原创 2021-07-01 13:58:22 · 368 阅读 · 0 评论 -
(更新,已反射hook到onActivityResult)如何避免使用onActivityResult,以提高代码可读性
问题Android中,通过startActivityForResult跳转页面获取数据应该不必多说,但是这种所有获取到的结果都需要到onActivityResult中处理的方式实在令人蛋疼。试想一下,我们敲着代码唱着歌。突然,半路上跳出一群马匪,让我们到另一个页面获取一点数据,获取后还不让在当前代码位置处理逻辑,要去onActivityResult添加一个requestCode分支处理结果,处理完才让回来,等这一切都做完回来难免就会陷入这样的思考:我是谁,我在哪,我在干什么,我刚才写到哪了……再想一原创 2021-06-30 21:47:39 · 225 阅读 · 0 评论 -
“吹Kotlin协程的,可能吹错了!”带你真正理解一波
“这科技越来越发达,你就学电脑吧,你二姨儿子在县城里就是自己开店子给人修电脑,能挣不少钱!”—— 父亲大人 2009年7月引子最近一直在思考,作为一名软件开发工程师,到底应该如何实现自我成长,是否有捷径而言?其实断断续续有过很多思考,也有和各种年龄段的同学们做过不少交流,结合自身的经历,有一些感悟和思考。本文可能可以适用到其他端,不过由于自己是一名 Android 开发工程师,所以就姑且从一名普通的 Android 开发工程师的角度来进行表述吧。整篇文章可能读下来会比较啰嗦和白话,但句句真言,字.原创 2021-06-22 21:59:39 · 685 阅读 · 0 评论 -
{Android}参加阿里完面试后:一到HR四面,我的复盘经验总结!
背景宝宝知道小程序从首次发布至今,经过了几十个版本的迭代。随着业务发展,页面功能内容的不断增多,相关性能数据不断变差,核心性能数据 FMP 长期处在 2000ms 以上。在该项目之前,我们团队也对小程序做了一定的性能调优工作,内容包括:包体积优化,去除了不少引用在项目中的图片素材文件,将包体积优化至 500kb 以下;联合后端对耗时较高的业务接口做优化,单个接口返回速度需要控制在 100ms 左右;优化了部分业务逻辑,小程序启动时减少了一些不必要的操作逻辑;使用了小程序框架提供的最新生命周期原创 2021-06-22 19:33:39 · 175 阅读 · 0 评论 -
[Android]从源码的角度理解为什么Dialog不能在Application中展示
Vue中的nextTick涉及到Vue中DOM的异步更新,感觉很有意思,特意了解了一下。其中关于nextTick的源码涉及到不少知识,很多不太理解,暂且根据自己的一些感悟介绍下nextTick。一、示例先来一个示例了解下关于Vue中的DOM更新以及nextTick的作用。模板<div class="app"> <div ref="msgDiv">{{msg}}</div> <div v-if="msg1">Message got outside原创 2021-06-22 17:14:07 · 256 阅读 · 0 评论 -
(建议精读)开发十年老Android:HTTP灵魂之问,巩固你的-HTTP-知识体系!
本文归纳整理Android中高级常见面试题,绝大部分解析提供了原文链接。为了方便大家阅读,笔者也将这些中高级面试题整理到了精编PDF文档里。方便大家阅读!1.synchronized和lock的区别答: https://blog.csdn.net/u012403290/article/details/64910926?locationNum=11&fps=1 还可以去了解什么是可重入锁,公平 锁, 可中断锁。2.okhttp原创 2021-06-22 15:52:16 · 249 阅读 · 0 评论 -
闲鱼上疯传的《Kotlin强化实战学习手册(附Demo)》,免费开发下载
前言自Google宣布将 Kotlin 作为 Android 开发的首选语言 (Kotlin-first),现已有60% 的专业 Android 开发者已经采用了该编程语言。在 Google Play 应用商店排名前 1,000 的应用中,有 70% 的开发语言都采用了 Kotlin。为了与时俱进并迎接未来发展,现在正是学习使用 Kotlin 进行 Android 开发的绝佳时机。为了帮助你入门和深入的学习 Kotlin ,谷歌近日整理发布一份《高级Kotlin强化实战学习手册(附Demo)》供Andr原创 2021-05-29 15:21:18 · 232 阅读 · 5 评论 -
今日头条/皮皮虾,Android开发大神是怎么理解架构体系的?
一、开始的开始(字节大神语录)Android框架体系架构(高级UI+FrameWork源码) 这块知识是现今使用者最多的,我们称之Android2013~2016年的技术,但是,即使是这样的技术,Android开发者也往往因为网上Copy代码习惯了而导致对这块经常“使用”的代码 熟悉而又陌生: 熟悉的是几乎天天在和它们打交道,天天在复制这些代码;陌生的是虽然天天和这些代码打交道,但是并没有深入研究过这些代码的原理,代码深处的内涵。所以我们需要从新的角度去分析这些知识点,深入研究他们,要学习源码,模仿源码原创 2020-12-18 17:24:21 · 398 阅读 · 1 评论 -
阿里P8大牛内部推荐:2020年最详细Android第三方源码库笔记
**笔记特点:**内容详实,涵盖了和Android开发相关的各个源码库。不仅深入浅出地分析源码,还记录了大佬们在使用时遇到的问题,并提供了解决的方法。**内容概要:**一共分为十个章节,包含Glide、LeakCanary、ARouter、EventBus、Retrofit源码详细解析,以及它们的使用,和一些容易遇到的问题。EventBus 源码详解EventBus 自己实现一个?ARouter 源码详解ARouter 自己实现一个?LeakCanary 源码详解Leak原创 2020-11-24 21:05:05 · 1921 阅读 · 4 评论 -
深入理解 LayoutInflater.inflate() 方法
目录1. 前言2. 正文2.1 inflate() 方法分析2.1.1 根节点不是 merge 时,第一组取值情况分析2.1.2 根节点不是 merge 时,第二组取值情况分析2.1.3 根节点不是 merge 时,第三组取值情况分析2.1.4 根节点不是 merge 时,第四组取值情况分析2.1.5 根节点为 merge 时情况分析2.2 实际应用2.2.1 自定义控件填充布局2.2.2 Fragment 填充布局2.2.3 RecyclerView 条目填充布局2.2.4 AlertDialog 填充自原创 2020-11-13 15:18:54 · 610 阅读 · 0 评论 -
史上最全,1307页Android面试全套真题解析,P7大神秃头整理
前言下面的题目都是在Android交流群大家在面试时遇到的,如果大家有好的题目或者好的见解欢迎分享,楼主将长期维护此帖。参考解析:郭霖、鸿洋、玉刚、极客时间、腾讯课堂…内容特点:条理清晰,含图像化表示更加易懂。内容概要:包括 Handler、Activity相关、Fragment、service、布局优化、AsyncTask相关、Android 事件分发机制、 Binder、Android 高级必备 :AMS,WMS,PMS、Glide、 Android 组件化与插件化等面试题和技术栈!Han原创 2020-11-12 17:13:15 · 3844 阅读 · 7 评论 -
Android开发圈疯传的源码解析笔记,你想象不到的简单易懂
几乎每个程序员都知道理解源码的重要性。先不讨论阅读源码对自身水平的帮助,就从急功近利的角度来说,在面试稍微大一点公司的时候,都会涉及到不少源码级别的问题。如果没有阅读源码习惯的话,在大多数情况下,面试结果是不会太理想。另外,我们在开发中,会遇到一些罕见问题,而这些问题往往出在开源项目上,毕竟一个开源项目不可能考虑到各种场景。如果你阅读了这个开源项目的源码,对它足够了解,就能很快定位到问题所在,迅速解决。阅读源码如此重要,为什么大家都热衷于CV,而不去阅读源码呢?因为阅读源码并不是一件简单的事情,尤其是刚原创 2020-09-09 17:18:15 · 552 阅读 · 0 评论 -
耗时8个月,2960页,58万字,全网最全的Android开发笔记
笔记特点:内容详实,涵盖Android开发各个内容。条理清晰,系统化地阐述了Android开发各个知识点。内容概要:一共七个模块,包括全方面性能调优、Android框架体系架构、flutter技术进阶、NDK模块开发、架构师筑基必备技能、设计思想解读开源框架、微信小程序。由于整个文档比较全面,内容比较多,篇幅不允许,下面以截图方式展示 。如有需要获取资料文档的朋友 可以关注+点赞后台简信我【笔记】免费获取。360°全方面性能调优一、设计思想与代码质量优化二、程序性能优化三、开发效率优化原创 2020-09-04 14:00:11 · 1752 阅读 · 4 评论 -
来咯!上万阅读的大厂面试知识合集,这份PDF真心值得拥有!
来自腾讯、头条、阿里、美团、字节跳动等公司2019-2020年的高级面试题,博主还把这些技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,就以图片的形式给大家展示一部分。需要完整PDF的朋友,关注+转发,私信我【学习】查看领取第一章 图片相关面试题目录1、图片库对比2、LRUCache原理3、图片加载原理4、自己去实现图片库,怎...原创 2020-04-15 15:27:52 · 683 阅读 · 1 评论 -
朋友工作两年,月薪20k,同样是程序员差距怎么这么大?
幸之助说:“工作就是不断发现问题、分析问题、最终解决问题的过程,晋升之门将永远为那些随时解决问题的人敞开着。”对于程序员来说,要想提高薪资待遇有以下几个途径:第一,岗位晋级。这是广大程序员提高薪资待遇的重要途径之一,通过在工作中不断提升自己的研发能力而得到岗位晋级,进而提高自己的薪资待遇水平。这种提升往往以年为单位来计算,有的公司半年调整一次,有的一年调整一次。第二,承担新任务。对于年轻的...原创 2020-04-14 16:45:41 · 802 阅读 · 0 评论 -
Android撩妹特效系列!仿instagram文字自动排版功能实现!
作者:辉猿走壁链接:https://blog.csdn.net/hyhlmy/article/details/885451041 概述玩过ins的朋友应该知道ins里面有一个编辑文字自动排版的功能,应用会根据用户输入的每行文字自动进行排版,以达到一个紧凑美观的效果。效果图如下:因为最近刚好在做这样的需求,于是对其实现原理做了研究,现在写下这篇博客希望能帮到有需要的人。下面是我实现的...原创 2020-04-13 21:03:29 · 1187 阅读 · 0 评论 -
Android,你从入门到放弃了吗?程序员:你不知道我经历了什么!
从安卓入门的那一天,我们就见过一本书《Android,从入门到放弃》,随着这么多年的开发,有放弃、有坚持的,我相信坚持的人占了多数。这个多数人,已经是专业的大牛了,而有人还停留在菜鸟阶段,为了让大家都成为别人眼中的大牛,我给大家找找原因。最大的原因就是没有效率!看似每天忙成狗,回头却发现,月复一月,日复一日,薪资没涨一点,年龄越来越大了。不知道时间都到哪里去了,明明是每天兢兢业业的工作,可...原创 2020-04-09 14:02:30 · 503 阅读 · 0 评论 -
厉害!IDEA 2020 要本土化,真的是全中文了!
前不久 JetBrains 发布了 IntelliJ 平台 2020 年路线图,现在作为 2020 年规划中的另一部分,JetBrains 又发布了基于 IntelliJ 的 IDE 2020 年的功能路线图。前者主要集中在平台的底层功能上,而后者聚焦于更高级别的功能,这些功能将与用户直接交互。本土化去年,JetBrains 网站进行了本地化,提供了 8 种不同的语言版本,而现在,团队正在...原创 2020-04-11 14:23:01 · 626 阅读 · 0 评论 -
不想被面试官虐?Android知识汇总,你必须知道的Handler八大问题!
前言handler机制几乎是Android面试时必问的问题,虽然看过很多次handler源码,但是有些面试官问的问题却不一定能够回答出来,趁着机会总结一下面试中所覆盖的handler知识点。1、讲讲 Handler 的底层实现原理?下面的这幅图很完整的表现了整个handler机制。要理解handler的实现原理,其实最重要的是理解Looper的实现原理,Looper才是实现handler...原创 2020-04-08 20:52:19 · 580 阅读 · 0 评论 -
字节跳动为何选用Flutter?并非最优选,但它可能是不一样的未来!
作者:Gityuan链接:https://zhuanlan.zhihu.com/p/1184812122018 年 12 月 ,Google 宣布 Flutter 1.0 版本正式发布。截至目前, Flutter 在 Github 上已获得 88000+ 的关注和 11000+ 的 Fork ,其发展速度相当惊人,是今年移动端最火热的开发框架之一。Flutter 大火背后的原因是什么?...原创 2020-04-11 14:23:38 · 812 阅读 · 0 评论