
学习资料
文章平均质量分 85
Android Developer
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Android组件化框架设计与实践
在目前移动互联网时代,每个 APP 就是流量入口,与过去 PC Web 浏览器时代不同的是,APP 的体验与迭代速度影响着用户的粘性,这同时也对从事移动开发人员提出更高要求,进而移动端框架也层出不穷。上图显示的是传统的服务端架构和客户端 App 架构对比。传统的服务端架构中最底下是一个 OS,一般是 Linux,最上面服务端的业务,而中间有非常多的层次可以在架构上,按照我们的意愿搭建中间的各个层次的衔接环节,使得架构具有足够的灵活性和扩展性。但是到了 App 就会面对一个完全不同的现状,App 的OS(原创 2021-03-12 11:39:37 · 526 阅读 · 3 评论 -
Android实现三角形气泡效果方式汇总
在开发过程中,我们可能会经常遇到这样的需求样式:这张图是截取京东消息通知的弹出框,我们可以看到右上方有个三角形的气泡效果,这只是其中一种,三角形的方向还可以是上、下、左、右。通过截图可以发现,气泡由正三角形和圆角长方形组成,于是可以通过组合来形成三角形气泡的效果,下面我们通过三种方式进行实现。实现方式: 1、通过.9图进行实现; 2、通过shape方式实现; 3、通过自定义view的方式实现;实现逻辑:1、通过.9图进行实现这种方式就不用说了吧,找你们UI小姐姐切一个.9图,使用即可,不过这种原创 2021-03-12 11:17:19 · 573 阅读 · 0 评论 -
程序员在主动要求涨工资这事上,千万不要学我!从我的第一份工资800开始说起
在主动要求涨工资这方面,不要学我,为什么?因为在我工作的十几年里,我从来都没有主动要求过涨工资。这不是优点,这并不对!先说说我的经历,工作这么久,待过很多公司,我在涨工资方面一直很被动。经历一我第一家公司在北京,是一个非常小的公司,算上我程序员就 4 个人,靠给客户做一些小软件项目为生。小公司工资开的也很低,说出来你们可能不信,我刚去的时候工资只有 800 块钱。工资 800?程序员?在北京?没写错,就是 800,就是 2002 年,我来北京之后第一份工资。那时候我们大学一起毕业的几个同学,原创 2021-03-11 22:06:15 · 659 阅读 · 3 评论 -
ARouter 源码解析:阿里推出的路由框架
ARouter 是阿里推出的一款页面路由框架。由于项目中采用了组件化架构进行开发,通过 ARouter 实现了页面的跳转,之前看它的源码时忘了写笔记,因此今天来重新对它的源码进行一次分析。本篇源码解析基于 ARouter 1.2.4初始化ARouter 在使用前需要通过调用 Arouter.init 方法并传入 Application 进行初始化:/** * Init, it must be call before used router. */pu原创 2021-03-09 17:33:34 · 484 阅读 · 0 评论 -
我是双非/三本/专科学校的Android开发,我有机会进入大厂吗?
我是双非/三本/专科学校的Android开发,我有机会进入大厂吗?我自己也是非985非211学校的,结合自己的经历以及一些朋友的经历,我觉得让我回答这个问题再好不过。首先,我觉得学校歧视很正常,真的太正常了,如果要抱怨的话,你只能抱怨自己没有进入名校。但是,千万不要动不动说自己学校差,动不动拿自己学校当做自己进不了大厂的借口,学历只是筛选简历的很多标准中的一个而已,如果你够优秀,简历够丰富,你也一样可以和名校同学一起同台竞争。企业HR肯定是更喜欢高学历的人,毕竟985,211优秀人才比例肯定比普通学校原创 2020-09-23 08:58:57 · 947 阅读 · 0 评论 -
Flutter与Android通信开发指南
想要成为一名优秀的Android开发,你需要一份完备的 知识体系,在这里,让我们一起成长为自己所想的那样~。在做Flutter开发的时候通常离不了Flutter和Native之间的通信,比如:初始化Flutter时Native向Dart传递数据,Dart调用Native的相册选择图片,Dart调用Native的模块进行一些复杂的计算,Native将一些数据(GPS信息,陀螺仪,传感器等)主动传递给Dart等。在这本篇文章中我将向大家分享在Flutter中Dart和Native之间通信的几种.原创 2020-09-15 15:46:19 · 639 阅读 · 0 评论 -
深入解析Kotlin 协程与 JetPack 组件
想要成为一名优秀的Android开发,你需要一份完备的 知识体系,在这里,让我们一起成长为自己所想的那样~。1、MVVM架构模式概览这是使用MVVM架构模式+Kotlin协程+JetPack(ViewModel+LiveData)+Retrofit的架构,实现WanAndroid登录接口的小DEMO,后续会慢慢完善WanAndroid客户端,地址见:https://github.com/chaozhouzhang/WanAndroid1、ViewModel为了从界面控制器Activity/原创 2020-09-01 21:26:59 · 416 阅读 · 0 评论 -
面试腾讯Android研发岗,已拿到 offer,我是如何准备 Android 技术面试的?
本篇文章给大家分享一下笔者面试的一些感受和经验。笔者从前期准备到所有面试结束,花费了差不多3个月的时间。真可谓“面试造航母,工作拧螺丝”,面试过程真的很累很辛苦。笔者面了很多公司,最终拿下了腾讯、网易和快手的offer,最后选择了腾讯。有面试交流群小伙伴问我是怎么准备面试的,我也想谈谈我最近的一些想法和计划,大家一起讨论。因此写下了这篇文章。整体分为以下两个方面:自我介绍 & ...原创 2020-03-30 16:03:40 · 970 阅读 · 0 评论 -
Android GC原理探究(深度好文)
相信大家都遇到过手机图片滑动卡顿问题,由于不断的GC导致的丢帧卡顿的问题让我们想了很多方案去解决,所以就打算详细的看看内存分配和GC的原理,为什么会不断的GC,GC ALLOC和GC COCURRENT有什么区别,能不能想办法扩大堆内存减少GC的频次等等。1、JVM内存回收机制1.1 回收算法标记回收算法(Mark and Sweep GC)从"GC Roots"集合开始,将内存整个遍...原创 2020-03-25 09:27:29 · 819 阅读 · 0 评论 -
这8 项升职加薪的技能,90%程序员都没掌握!!!
我是码农出身,工作十年,从 初级程序猿(半年) - 项目主力(一年) - 初级技术管理(一年) - 中级技术管理(两年) - 部门管理(两年) - 高层管理(三年) - 职业经理人,一条路走过来,关于升职加薪技能,有一些自己的心得可以分享。01、吃透一门编程语言这个技能看起来似乎没有必要强调,毕竟程序员不懂一种编程语言也说不过去啊。我之所以再次强调是怕你“贪心”,以为技多不压身就拼了命的学很多...原创 2020-03-23 15:36:45 · 647 阅读 · 0 评论 -
临近毕业:Android VS大数据Java的offer,我到底应该怎么选?
拿到几份offer,我该如何选择?先简单介绍一下我的情况:本人现在大四,即将毕业。苏州某普通本科在校生。目前已经确定拿到了南京一个中型创业公司的offer,公司安排到了大数据Java岗。还有一个offer就是上海某4G/5G智能终端创新研发平台Android应用开发岗。其他的一些微创企业的面试offer就不提了。在校期间做的项目很杂,php的后端,老三大件的前端,android,片上代码都有...原创 2020-03-06 14:29:10 · 1071 阅读 · 0 评论 -
揭秘阿里、腾讯、字节跳动在家办公的区别
这几天,互联网精英们已经开始在家远程办公了。作为国内互联网三家大厂,阿里、腾讯、字节跳动在家办公有什么区别呢?一起来看——返岗时间阿里:2月3日-7日在家办公,原本计划10日返岗可能会推迟到17日;腾讯:2月3日起多个部门开启了远程办公,2月10日-14日在家办公,2月17日返岗;字节跳动:2月3日在家办公,2月10-13日返回工作地,在家中隔离14天后,确认没事,2月25日-27日返...原创 2020-02-24 15:48:06 · 600 阅读 · 0 评论 -
阿里面试官: 自定义View跟绘制流程相关知识点?(标准参考解答,值得收藏)
本文用于记录自定义View的基础步骤以及一些基础的信息,后期可能针对具体的点写一些补充性的文章。一 、View中关于四个构造函数参数自定义View中View的构造函数有四个// 主要是在java代码中生命一个View时所调用,没有任何参数,一个空的View对象 public ChildrenView(Context context) { super(conte...原创 2020-02-12 09:51:14 · 537 阅读 · 2 评论 -
Android开发插件化来龙去脉(附全套学习视频)
前言随着Android的发展,国内一线企业的项目模块越来越多,用户体验要求也越来越高,想实现小步快跑、快速迭代的目的越来越难,还有65535,应用之间的互相调用等等问题,从而催生了插件化技术的产生。2012年插件化概念被提出,到2016年的时候,插件化技术百家争鸣,被一线大厂广泛使用。插件化技术几乎引领了Android技术的进步!Android开发进阶全套知识下载地址插件化原理插件化要解...原创 2020-02-10 11:41:43 · 627 阅读 · 0 评论 -
详解FLUTTER手势识别与事件通知
本文目录前言GestureDetector基本用法常用事件监听事件实现缩放监听事件实现拖拽事件通知前言在Flutter开发App的过程中,我们除了需要灵活的使用各种组件之外,还需要掌握手势的识别,比如我们常常需要在操作App的时候使用到缩放,双击,放大,缩小等操作,这些Flutter都给我们提供了监听的组件GestureDetector。这篇博文将详细介绍GestureDetect...原创 2020-02-05 11:27:47 · 602 阅读 · 0 评论 -
Activity 的 36 大难点,你会几个?「深度好文」
作者:_yuanhao链接:https://www.jianshu.com/p/86c0a4afd28e前言学 Android 有一段时间了,一直都只顾着学新的东西,最近发现很多平常用的少的东西竟让都忘了,趁着这两天,打算把有关 Activity 的内容以问题的形式梳理出来,也供大家查缺补漏。本文中,我将一改往日写博客的习惯,全文用 XMind 将所有知识点以思维导图的形式呈现,欢迎...转载 2020-01-18 12:32:30 · 457 阅读 · 0 评论 -
三年备战阿里面试功亏一篑,失败是成功他妈,最终拼下美团Android开发(面试总结+复习笔记)
刚刚签下美团没多久,目前已经入职了一段时间,适应下来感觉还不错,现在才想起是不是要分享一波面经。实际上在美团之前我是很想进BAT一线大厂的,毕竟大部分的程序员心里都有大厂梦。但是,阿里的面试让我心灰意冷。具体是一个什么情况,看下面的面经和总结吧!注意注意:以下阿里面试题+美团面试题(含答案),还有我个人的复习笔记(包括java程序员面试宝典、Android架构设计模式+热修复+插件化+进程保活...原创 2020-01-11 11:24:45 · 853 阅读 · 0 评论 -
移动开发整体凉凉的背景下,究竟还剩哪些 Android开发热门前沿知识
1. Android架构设计模式MVC架构设计模式:MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写。MVP架构设计模式:MVC全名是Model View Persenter,MVP由MVC演变而来,是现在主流的开发模式。MVVM架构设计模式:MVVM全名是Model-View-ViewModel,它本质上...原创 2020-01-07 11:41:27 · 338 阅读 · 0 评论 -
从新手到Flutter架构师,一篇就够!Flutter 史上最全开源项目(UI、导航、网络、导航、音视频...)
作者:xiangzhihong链接:https://juejin.im/post/5de48586e51d455c0172baac来源:掘金Flutter是Google推出的一套开源跨平台UI框架,可以快速地在Android、iOS和Web平台上构建高质量的原生用户界面。同时,Flutter还是Google新研发的Fuchsia操作系统的默认开发套件。在全世界,Flutter正在被越来越多的...原创 2019-12-25 16:32:33 · 1247 阅读 · 0 评论 -
如何缩减接近 50% 的 Flutter 包体积
以下是字节跳动移动平台部 Flutter 资深工程师李梦云的分享主题沉淀,《如何缩减接近 50% 的 Flutter 包体积》。演讲内容大纲:包体积问题现状Dart 编译产物优化Flutter 引擎编译产物优化机器码指令优化总结与展望个人介绍我叫李梦云,任职于字节跳动移动平台部,负责移动端部分基础设施平台的建设与落地,前两年落地插件化平台和热修复平台,这两个平台现在基本字节...转载 2019-12-19 13:57:42 · 2603 阅读 · 0 评论 -
2019Flutter面试题最新整理大全(含答案)
一、前言2019年行将结束,也该规划一下自己的职业生涯了;是选择继续从事Android(Android的话已经火了几年了,现在算是进入寒冬了,需要考虑清楚)?还是学习新的跨平台开发Flutter技术?Flutter因其它完全免费,彻底开源、可以用来更快地创建应用、出色的用户界面(UI)、节省代码量、可接入平台原生功能、最适合 MVP 开发(最小化可行产品)、较老的设备也使用相同 UI 运行应用...原创 2019-12-17 17:46:37 · 3345 阅读 · 1 评论 -
Flutter的原理及美团的实践(下)
阿里P7移动互联网架构师进阶视频(每日更新中)免费学习请点击:https://space.bilibili.com/474380680Flutter和原生性能对比虽然使用原生实现(左)和Flutter实现(右)的全品类页面在实际使用过程中几乎分辨不出来:但是我们还需要在性能方面有一个比较明确的数据对比。我们最关心的两个页面性能指标就是页面加载时间和页面渲染速度。测试页面加载速度可以直接使...转载 2019-12-12 10:00:26 · 337 阅读 · 0 评论 -
Flutter的原理及美团的实践(中)
阿里P7移动互联网架构师进阶视频(每日更新中)免费学习请点击:https://space.bilibili.com/474380680外卖全品类页面实践在调研了Flutter的各项特性和实现原理之后,外卖计划灰度上线Flutter版的全品类页面。对于将Flutter页面作为App的一部分这种集成模式,官方并没有提供完善的支持,所以我们首先需要了解Flutter是如何编译、打包并且运行起来的。...转载 2019-12-12 09:56:32 · 2349 阅读 · 0 评论 -
面试阿里被“怼”,在源码分析和项目上栽跟头,半年后二战终拿下OFFER
源码分析和项目实战经验一直是大厂比较看重的要素,近两年来,许多大厂在面试中都会频繁问到源码&原理,记得今年上半年第一次去阿里面试时,可以说是“无地自容”,被面试官逼问得哑口无言,尤其是项目部分,(被怒鄙视一波),包括难点,怎么迭代项目。##第一次阿里面经分享1.view绘制流程,onLayout位置不够怎么办2.binder IPC过程描述3.transact onTransact...原创 2019-11-28 11:34:40 · 526 阅读 · 0 评论 -
OkHttp3源码详解(六)Okhttp任务队列工作原理
阿里P7移动互联网架构师进阶视频(每日更新中)免费学习请点击:https://space.bilibili.com/4743806801 概述1.1 引言android完成非阻塞式的异步请求的时候都是通过启动子线程的方式来解决,子线程执行完任务的之后通过handler的方式来和主线程来完成通信。无限制的创建线程,会给系统带来大量的开销。如果在高并发的任务下,启用个线程池,可以不断的复用里面不...转载 2019-11-18 15:50:18 · 993 阅读 · 1 评论 -
OkHttp3源码详解(二) 整体流程
阿里P7移动互联网架构师进阶视频(每日更新中)免费学习请点击:https://space.bilibili.com/4743806801.简单使用同步: @Override public Response execute() throws IOException { synchronized (this) { if (executed) throw new IllegalSt...转载 2019-11-18 15:42:30 · 167 阅读 · 0 评论 -
图片加载框架之图片加载框架选型(一)中篇
阿里P7移动互联网架构师进阶视频(每日更新中)免费学习请点击:https://space.bilibili.com/474380680本篇文章将通过Glide使用来阐述图片加载框架选型:首先,添加依赖implementation 'com.github.bumptech.glide:glide:4.5.0'annotationProcessor 'com.github.bumptech.g...原创 2019-11-17 21:21:59 · 208 阅读 · 0 评论 -
组件化框架设计之AOP&IOC(四)
阿里P7移动互联网架构师进阶视频(每日更新中)免费学习请点击:https://space.bilibili.com/474380680本篇文章将从以下两个方面来介绍组件化框架设计:【AOP(面向切面编程)、Filter(过虑器)、Interceptor(拦截器)】【Android IOC注入框架】一、AOP(面向切面编程)、Filter(过虑器)、Interceptor(拦截器)1....原创 2019-11-14 16:28:40 · 214 阅读 · 0 评论 -
数据持久化之轻量级Kv持久化(二)
阿里P7Android高级架构进阶视频免费学习请点击:https://space.bilibili.com/474380680本篇文章将继续从以下两个内容来介绍轻量级Kv持久化:[SharedPreferences详解与原理分析][ 微信MMKV源码分析]#一、SharedPreferences详解与原理分析SharedPreferences作为Android存储数据方式之一,主要特点...原创 2019-11-08 15:27:45 · 368 阅读 · 0 评论 -
数据持久化之Android文件系统(一)
阿里P7Android高级架构进阶视频免费学习请点击:https://space.bilibili.com/474380680#一、前言文件系统一直是Android开发过程中经常接触的东西。而关于内部存储、外部存储、外置存储、私有存储、公共存储,以及访问哪些文件需要申请运行时权限等问题,一直是许多开发者头疼的问题。本文就将详细地讲解这些重要而模糊的知识点。#二、内部存储内部存储主要用于保存...原创 2019-11-08 15:23:30 · 219 阅读 · 0 评论 -
面试头条客户端,被怼的体无完肤!!!
人们都说,互联网寒冬来了,这个时候还在大面积招人的公司,必然是牛逼的公司。而这个时候勇敢跳槽的人,必然是牛逼的人。面头条之前我刷了头条所有的LeetCode,并且几乎所有题都能自己AC,自认为头条面试题不会太难。我们在初次见面的紧张和局促中正式开始,前戏的部分大同小异,自我介绍,公司职能,项目简介。一、技术篇1、 手写单例模式?2、hashmap的底层 原理?3、无序数组取中位数?以...原创 2019-11-07 10:11:10 · 781 阅读 · 0 评论 -
Android高级架构进阶之数据传输与序列化
更多Android高级架构进阶视频学习请点击:https://space.bilibili.com/474380680本篇文章将从以下几个内容来阐述数据传输与序列化:[Serializable原理][Parcelable的原理和使用方法][json]一、Serializable原理1.概念序列化:把Java对象转换为字节序列的过程。反序列化:把字节序列恢复为Java对象的过...原创 2019-11-04 14:39:14 · 321 阅读 · 0 评论 -
使用全新 Android 模拟器工具进行持续测试
更多android架构进阶视频学习请点击:https://space.bilibili.com/474380680原创: Android [谷歌开发者](javascript:void(0)????作者 / Lingfeng Yang, Android Studio team开发者在日常的开发工作中往往会先使用 Android 模拟器来快速测试修改过的应用,然后再提交代码。此外,开发者越来越多地...原创 2019-11-01 11:57:45 · 676 阅读 · 0 评论 -
Android高级工程师BAT面试题及知识点整理大全(Java基础+Android)
去年年底我从一家小公司辞职,今年二月份投第一份简历,到十月底过去了整整八个个月。感谢八个月来身边的同学,我的朋友,亲人等对我的鼓励与支持,同时也感谢腾讯课堂,没有你们,我很难坚持到现在。 三月很惨淡,百度不招Android,腾讯没给面试机会,阿里一面挂,头条两次一面挂,一共投了二三十家,收到的面试通知寥寥无几,甚至没有哪一家能进入二面,整个人真的很难受。但是,生活还是要继续前行,工作还是要继续找...原创 2019-11-01 10:57:15 · 481 阅读 · 0 评论 -
Context还有哪些你不知道的?
1、Context 概念Context是个抽象类,通过类的结构可以看到:Activity、Service、Application都是Context的子类;从Android系统的角度来理解:Context是一个场景,描述的是一个应用程序环境的信息,即上下文,代表与操作系统的交互的一种过程。从程序的角度上来理解:Context是个抽象类,而Activity、Service、Application...原创 2019-10-31 11:27:50 · 353 阅读 · 0 评论 -
【Android程序员】找不到好工作?或许你应该开阔一下视野了!
【Android程序员】找不到好工作?或许你应该开阔一下视野了!我相信很多人都在经历这个阶段,过了入门期之后想要努力进阶,但是却苦苦没有方向。每次遇到朋友问我这样的问题,每次我的回答也都会不一样。其实我也很想总结出一套固定的答案,然后直接复制粘贴就可以了,但是进阶的方向实在是太广了,这真的没有一个固定的答案。拿具体的项目来说,不同的项目侧重的知识点也不一样。比如IM软件就需要即时通讯...原创 2019-10-30 09:45:18 · 364 阅读 · 0 评论 -
转自“写给全国移动互联网工作者的一封公开信”
亲爱的移动互联网工作者:你们好!经常有网友在知乎问答提两个问题:“现在学习移动开发还有前景吗?””开发还有什么可以研究的?“。网友回复:“现在还学移动开发?如同49年加入国军!”其实这两个问题对应着同一个现象,无论是准备入行或刚刚入行,还是比较资深的开发者,对于移动开发职业的未来,都有一些迷茫、一些焦虑。为什么会这样?近年来,以深度学习为代表的核心算法突破,计算机计算能力的提升以及移动互联...原创 2019-10-28 15:44:05 · 954 阅读 · 0 评论 -
深入理解 Android 消息机制
原文转载:深入理解 Android 消息机制深入理解Android消息机制在日常的开发中,Android 的消息机制作为系统运行的根本机制之一,显得十分的重要。从 Handler 发送消息开始查看源码,Handler的post、send方法最终都会走到public final boolean sendMessageDelayed(Message msg, long delayMillis...原创 2019-10-25 13:52:48 · 215 阅读 · 0 评论 -
Android 开发经验分享:挺重要的网络基础
作者:舒大飞链接:https://juejin.im/post/5b49f9fbf265da0f563dc9d8网络一直是项目里比较重要的一个模块,Android开源项目上出现过很多优秀的网络框架。从一开始只是一些对HttpClient和HttpUrlConnection简易封装使用的工具类,到后来Google开源的比较完善丰富的Volley,再到如今比较流行的Okhttp、Retrofit。...原创 2019-10-24 14:25:05 · 227 阅读 · 0 评论 -
面试必问“MVVM模式及与MVP和MVC的区别”的标准答案
什么是MVVM?MVVM是Model-View-ViewModel的简写。微软的WPF带来了新的技术体验,如Silverlight、音频、视频、3D、动画……,这导致了软件UI层更加细节化、可定制化。同时,在技术层面,WPF也带来了 诸如Binding、Dependency Property、Routed Events、Command、DataTemplate、ControlTemplate等新...原创 2019-10-21 17:09:46 · 9638 阅读 · 4 评论