
Android程序员
普通网友
这个作者很懒,什么都没留下…
展开
-
腾讯开源超实用的UI轮子库,我是轮子搬运工
QMUI_Android功能特性全局 UI 配置只需要修改一份配置表就可以调整 App 的全局样式,包括组件颜色、导航栏、对话框、列表等。一处修改,全局生效。丰富的 UI 控件提供丰富常用的 UI 控件,例如 BottomSheet、Tab、圆角 ImageView、下拉刷新等,使用方便灵活,并且支持自定义控件的样式。高效的工具方法提供高效的工具方法,包括设备...原创 2019-06-21 20:32:03 · 525 阅读 · 0 评论 -
遭遇技术瓶颈该怎么办?一位五年Android经验架构师来说说他的工作感悟
最近关于有一张关于Android学习的搞笑图片非常火,虽然很搞笑,但对于学习Android的程序员也是非常形象非常心酸了。。。而这张图还只是描述了一些框架及控件,还有更多的各种底层的实现方式及java基本功等等,Android要学习的东西太多了啊。。。最近大环境不好,很多人可能会很迷茫,到底该不该转行?也有一些人遇到了技术瓶颈,技术很难得到提升而为此苦恼。那么我们在大环境不好的情况...原创 2019-07-02 22:02:09 · 496 阅读 · 2 评论 -
一篇看懂Android与Flutter之间的通信
Flutter作为一种跨平台解决方案,经常会作为一个模块嵌入到原生Android与iOS应用中,Flutter与Android原生端的通信必不可少。所以本文就来讲述一下Android如何与flutter进行通信。1、架构概述消息通过平台通道在native(host)与flutter(client)之间传递,如下图所示:为了确保用户界面能够正确响应,消息都是以异步的方式进行传递。无论...原创 2019-06-24 17:35:53 · 1103 阅读 · 1 评论 -
Android 开发多年了,在BA工作也有多年,但为什么在Android开发中我仍然不想使用Kotlin?
Android 开发多年了,在BA工作也有多年,但为什么在Android开发中我仍然不想使用Kotlin?如果你有下面罗列问题的解决方案,就请你把它们看做为我个人意见和评论吧!1)编译速度缓慢一个比较小的工程(共有100类左右,大部分采用Kotlin)花费1分钟进行编译,这是无法让人接受的。https://youtrack.jetbrains.com/issue/KT-62462)Kot...原创 2019-07-03 10:53:55 · 625 阅读 · 0 评论 -
不会搭建Android知识框架,活该你成不了技术大牛!
正文共:3327字建议只字不差的阅读(一篇文章都没耐心读完,你还能干啥)接下来我会尽最大的篇幅把我的方法论给大家讲清楚,每一个步骤会告诉你为什么这么做以及到底该如何做,也就是说我不仅告诉你这个道理,更会给你提供切实可行的方案,可以让你马上行动起来!首先自学安卓的第一步,经过我长时间的自学经验总结,最好的方式就是首先从搭建知识框架开始,这个知识框架就好比盖一座房子,它就相当于房屋的整...原创 2019-06-27 21:51:39 · 381 阅读 · 1 评论 -
来自腾讯十年开发者发自腾讯一线的真实Android资料
现在的市场环境确实不大好,裁员与及在预谋裁员的公司一大把,当然招人的公司也有。就会有一波离职、求职潮。作为求职者来说,面试是一道坎,很多人会恐惧面试,即使是工作很多年的老鸟,可能仍存在面试的焦虑。所以今天小编就在这面分享一波福利(评论有惊喜啊~),里面包含了一些高阶Android方面的技术资料,里面包括有高级UI、性能优化、移动架构师、NDK、混合式开发(ReactNative+Weex)微信...原创 2019-07-03 20:48:07 · 390 阅读 · 0 评论 -
Android 2019之BAT等大厂必问技术面试题
持续更新中,并完善答案------ 最近博主身边的安卓朋友换个坑,接到BAT等大厂面试邀请,回来聊天,博主记录下各大厂必问的部分有用面试题.希望对你学习,工作,面试有所帮助.(博主会持续收集更新这些面试题),博主会对分享和投稿的面试题做一些过滤,在此再次感谢分享面试题各位朋友和读者文章目录Android 2019之BAT等大厂必问技术面试题常规电话面试具体面试设计模式部分201...原创 2019-07-03 21:11:06 · 329 阅读 · 0 评论 -
一位自我怀疑的Android开发者的灵魂拷问:你够好吗?
我想每个开发者在学习成长的过程中,在面临技术难题的时候,都有经历过自我怀疑的过程,但是有时候这并不是你的错,大家都经历过如此的过程。我们作为一个开发者,在成长的过程中,总有一些小的胜利和小的沮丧,学着为自己喝彩吧。以下任何一个,是不是听起来都很熟悉?你经常担心自己不够好。看看你周围的开发者们,他们似乎拥有一切。他们的代码比你的更简洁,他们 Debug 的速度比你更快,他们只需要在编...原创 2019-07-10 16:11:11 · 1848 阅读 · 12 评论 -
面试总结:我是如何通过阿里面试的?电话面+视频面+boss面+交叉面+HR面
几个月前参加了19年的阿里春招,有幸最终拿到阿里offer,base杭州,岗位客户端开发。这段时间一直忙于其他事情,拿到意向已经过去几个月了其实,但是在其中也有在慢慢整理那次的面试内容,今天终于整理好了,在此分享一些关于面试的干货,攒一波RP,回馈社会。一面阿里的面试官都很和蔼。一面面试官听声音感觉应该是入职两三年的感觉。上来自我介绍后直接开始问android相关问题。大概问题如下...原创 2019-06-21 21:48:29 · 10783 阅读 · 0 评论 -
关于Android学习的三个终极问题身为程序员的你有遇到吗?
缘起以前在读研的时候,有一次和同学一起上自习。我在学习,他也在学习。我想,大家每天都一起上课,记笔记,上自习,完成作业,智商也差不多,为何考试的时候有时候差距会很大呢?这个问题我直到今天也没有答案,这几天和朋友闲聊说到这个事情。他们有得说是智商有差距,有得说是学习的时候心不在焉——看着在学习,其实已神游大千世界。.....,不过,我自己从来没有下过类似的结论。我武断的猜测,这个问题应该是没...转载 2019-06-25 17:32:08 · 567 阅读 · 0 评论 -
Android 垃圾回收黑科技
今天,我们来学习下 Android 中的垃圾回收机制。大家应该知道,JVM 和 Dalvik 的垃圾回收机制实际并不完全相同。而垃圾回收机制一直都是工作和面试中的必备技能,对 GC 有深入的理解,才能在代码层面更好地去减少 GC 的发生,毕竟每次 GC 都会对主线程的运行造成一定的卡顿,从而影响到用户体验。1前言本节将介绍支付宝 Android 客户端启动速度优化下的「垃圾回收」具...原创 2019-06-25 18:03:26 · 818 阅读 · 0 评论 -
互联网面试实习经验分享-开发岗
六月份,又是一个毕业季,最近各大互联网的暑期实习招聘要开始了,身边的小伙伴们也都忙碌了起来。整理了一些 开发类面试经验,分享给需要的同学。我先做个简单的自我介绍。晓晓,研二在读,大三学年末开始接触Android开发,前后共在美团、头条等公司实习18个月左右。有过6-8次面试经历,包括百度、网易、keep等,有些通过有些失败,在这里分享一些开发类面试通用型问题,并不只针对于Android开发...原创 2019-06-25 20:57:41 · 1082 阅读 · 1 评论 -
Android事件分发机制源码解析
触摸事件传递机制是Android中一块比较重要的知识体系,了解并熟悉整套的传递机制有助于更好的分析各种滑动冲突、滑动失效问题,更好去扩展控件的事件功能和开发自定义控件。预备知识MotionEvent在Android设备中,触摸事件主要包括点按、长按、拖拽、滑动等,点按又包括单击和双击,另外还包括单指操作和多指操作等。一个最简单的用户触摸事件一般经过以下几个流程:手指按下 手指...原创 2019-07-01 21:29:55 · 279 阅读 · 0 评论 -
浅谈Android移动开发程序员的职业发展之路
现在几乎每个it公司都在开发移动产品,我最早知道Android还是在09年成都某学院上大学的时候,从新闻上知道有这么一家公司,创始人安迪·鲁宾很有名,但安卓到底是做什么的,我并没有关注。到2010年毕业的时候,Android已经发展到了2.2版本,百度了一下Android,知道了(应用)开发采用的是Java语言。我当时学过C,C++,对java有些了解,从成都辗转来到北京,找到的工作...原创 2019-07-01 21:48:32 · 3673 阅读 · 1 评论 -
Android Native进程间通信实例—Socket本地通信服务端进程异常退出解决办法
导读:好难受啊,为什么服务端说挂就挂,明明只是客户端关闭而已,服务端怎么能挂呢?想想,如果手机上使用一个聊天程序的时候,手机端关闭了聊天程序,那么远端服务器程序总不能说挂就挂吧!所以一定要查明真相!1. 跟踪代码查找到进程退出的源头之前服务端源码:https://www.cnblogs.com/songsongman/p/11187844.html查阅代码发现,代码主体在w...原创 2019-07-15 21:43:07 · 621 阅读 · 1 评论 -
十分钟让你了解Android触摸事件原理(InputManagerService)
从手指接触屏幕到MotionEvent被传送到Activity或者View,中间究竟经历了什么?Android中触摸事件到底是怎么来的呢?源头是哪呢?本文就直观的描述一个整个流程,不求甚解,只求了解。Android触摸事件模型触摸事件肯定要先捕获才能传给窗口,因此,首先应该有一个线程在不断的监听屏幕,一旦有触摸事件,就将事件捕获;其次,还应该存在某种手段可以找到目标窗口,因为可能有多个AP...原创 2019-07-18 16:32:20 · 3460 阅读 · 6 评论 -
身为一位程序员:你是否思考过自己想成为什么级别的程序员?
作为一名程序员,不知道你是否考虑过这个问题:“你想成为什么级别的程序员?”假如你还没有考虑过,那真的是该闭上眼睛,用力地想一想了。这个问题并不好回答,因为它多少有些严肃。假如我要问你:“你最喜欢的书是什么?”,虽然也有一点点严肃,但你没准会不假思索地回答:“《平凡的世界》。”这两种问题的难易指数显然不在一个等量级上。但即便是这个问题你觉得很难回答,也应该好好地思考一下,为了你自己。...原创 2019-07-12 15:42:05 · 326 阅读 · 1 评论 -
来自一位五年Android工程师APK体积优化的一些总结
面对那种无节操的产品,你们怎么办?产品:“apk的体积是否可以优化以下,这样比较好推广!”我:“不可以!”产品:“apk的体积是否可以优化以下,这样比较好推广!”我:“不可以!”产品:“apk的体积是否可以优化以下,这样比较好推广!”我:“我考虑一下!”没办法面对这样的产品我们怎么能怂!老子写代码都是一把梭!!!但是回头想想,这个和写代码有个毛线关系!!!好...原创 2019-07-16 21:23:29 · 683 阅读 · 1 评论 -
资深Android程序员向你发问:如果离开公司这个平台,你还能靠什么赚钱?
01“人生最大的不幸,就是无法清晰认识自己。有时,离开了平台,才发现自己什么都不是。”话说,自2017年开始,不仅是创业公司,就连大公司都面临着巨大压力。 比如,最近大大小小的互联网公司经历关门与并购,就连端着“金饭碗”的国企人员,比如银行从业者,也每天提心吊胆地经受着组织瘦身的考验。于是乎,这个社会陷入了集体迷茫。 更让人关心的,还要数每个人眼前那一亩三分地儿的“钱”途和安...原创 2019-07-11 16:02:52 · 615 阅读 · 0 评论 -
Android 开发你需要了解的那些事:学习路线规划+技术需注意的问题
背景最近部门有新入职员工,作为规划技术路线的导师,这边给新员工安排了学习路线。除了基本的学习路线之外,每次沟通,我都留了一个小问题,让小伙伴去思考。这些问题有些是刚接触 Android 开发的小伙伴所不熟悉的,有些则是部分初级工程师都没有注意到的。因此这边纪录一下,希望帮助刚毕业进入职场的 Android 小伙伴,或是对这些还不是很熟悉的 Android 开发工程师们。如有...原创 2019-07-15 17:24:51 · 405 阅读 · 0 评论 -
Kotlin中 四个提升逼格的关键字你都会了吗?
使用kotlin的时候对这几个关键字的使用不是很明确,找了很多文章和书籍来加深一下印象,感谢mikyou开篇看结论letlet扩展函数的实际上是一个作用域函数,当你需要去定义一个变量在一个特定的作用域范围内,let函数的是一个不错的选择;let函数另一个作用就是可以避免写一些判断null的操作。 let函数的一般结构 object.let{it.todo()//在函数...原创 2019-06-28 21:40:12 · 447 阅读 · 0 评论 -
资深 Android 开发者的出路,做管理还是继续写代码?
移动应用开发从逐渐开始火爆到如今也有小十年了,大部分的学校还是没有开放专门的课程。目前市场上的大部分 Android 开发工程师大多数是自学或者是培训出身,用一段时间上手 Android 开发技能(畅销书作家 Josh Kaufman 提出,掌握正确的方法后,可以在短期内上手任何技能 ),而后进入一家公司或者接手一个项目培养实操能力、积累实战经验。再之后呢,Android 开发初期之后...原创 2019-07-10 16:12:35 · 689 阅读 · 0 评论 -
Android开发:关于Android冷启动优化(从3.63%降到0.95%)
前段时间做冷启动优化,刚好也很久没写博文了,觉得还是很有必要记录下。一.常规操作public class MainActivity extends Activity { private static final Handler sHandler = new Handler(Looper.getMainLooper()); @Override prote...原创 2019-07-04 20:52:40 · 1598 阅读 · 1 评论 -
一篇文章带你了解 Android 消息机制的原理!
Android的消息传递,是系统的核心功能,对于如何使用相信大家都已经相当熟悉了,这里简单提一句。我们可以粗糙的认为消息机制中关键的几个类的功能如下:Handler:消息处理者 Looper:消息调度者 MessageQueue:存放消息的地方使用过程:Looper.prepare > #$%^^& > Looper.loop(死循环) --- loop到一个消...原创 2019-07-17 21:15:32 · 685 阅读 · 0 评论 -
揭秘:Android屏幕中你不知道的刷新机制
前言之前在整理知识的时候,看到android屏幕刷新机制这一块,以前一直只是知道,Android每16.6ms会去刷新一次屏幕,也就是我们常说的60fpx,那么问题也来了:16.6ms刷新一次是什么一次,是以这个固定的频率去重新绘制吗?但是请求绘制的代码时机调用是不同的,如果操作是在16.6ms快结束的时候去绘制的,那么岂不是就是时间少于16.6ms,也会产生丢帧的问题?再者熟悉绘制的朋友...原创 2019-06-17 22:04:53 · 468 阅读 · 0 评论 -
Flutter提升开发效率的一些方法和工具
Flutter的环境搭配完之后,就开始Flutter的开发,下面的一些工具和方法,可以省下一些时间。自己在用的,暂时想到的,就是这些了,总结一下。1.JSON解析快速生成实体类根据接口返回的数据,编写实体类,添加两个方法。fromJson()方法是可以聪一个Map中构造出一个User的实例,toJson()方法,可以将一个实例转化为Map。如果接口返回的数据比较复杂点,...原创 2019-06-06 22:09:45 · 1539 阅读 · 0 评论 -
Android 网络优化,使用 HTTPDNS 优化 DNS,从原理到 OkHttp 集成
一、前言谈到优化,首先第一步,肯定是把一个大功能,拆分成一个个细小的环节,再单个拎出来找到可以优化的点,App 的网络优化也是如此。在 App 访问网络的时候,DNS 解析是网络请求的第一步,默认我们使用运营商的 LocalDNS 服务。有数据统计,在这一块 3G 网络下,耗时在 200~300ms,4G 网络下也需要 100ms。解析慢,并不是 LocalDNS 最大的问题,它还存在...原创 2019-06-07 22:04:33 · 1780 阅读 · 0 评论 -
Android端的短视频开发,我们该如何快速实现移动端短视频功能?
当下抖音非常火热,是不是也很心动做一个类似的app吗?一.短视频内容生产优质短视频内容的产生依赖于短视频的采集和特效编辑,这就要求在进行抖音APP开发时,用到基础的美颜、混音、滤镜、变速、图片视频混剪、字幕等功能,在这些功能基础上,进行预处理,结合OpenGL、AI、AR技术,产生很多有趣的动态贴纸玩法,使得短视频内容更具创意。视频录制的大致实现流程是先由 Camera 、 A...原创 2019-06-08 11:57:19 · 2500 阅读 · 0 评论 -
一位Android大牛的BAT面试心得与经验总结(面试收获及答案)
序言目前形势,参加到Android队伍的人是越来越多,可以说是已经达到了供过于求的地步了。今年,找过工作人可能会更深刻地体会到今年的就业形势不容乐观,之前实习的时候就想着写一篇面经,后来忙就给忘了,现在找完工作了,也是该静下心总结一下走过的路程了,我全盘托出,奉上这篇面试心得与经验总结。诚意之作,希望可以给在外来找工作的人一点指导以及帮助,如果能耐心读完的话,相信你会找到自己想需要...原创 2019-06-13 20:50:05 · 489 阅读 · 0 评论 -
{Android}参加阿里完面试后:一到HR四面,我的复盘经验总结!
阿里中间件团队一面:第一步:先自我介绍首先要介绍自己的项目经验和个人的擅长点,因为面试官主要考察你的表达能力和语言精简能力。简历的编写其实这里可能需要注意几点;1.标题的直接按照姓名-几年工作经验-应聘岗位格式来填写。例如 黄铭——四年工作经验——Android开发高级工程师。因为要知道,HR筛选简历是非常快的,你要在第一时间就让他看到他想要看的信息。HR一开始最关心的就是工作年限和...原创 2019-06-13 20:57:54 · 593 阅读 · 0 评论 -
寒冬下2年Android的求职历程(已拿到深信服、志安科技、TCL等 offer)
背景楼主双非本科,17年毕业,学历背景一般,由于个人原因吧,不得不从杭州撤离了,直接从公司裸辞了,处理好家中的事情后,本着换个环境的想法,直接奔向深圳了,也是开启了又一次的求职之旅,确实今天的大环境不太好,这里做一下记录吧。腾讯(社交部门QQ 挂)一面一面是一个电话面试,下午6点左右特地找了一个地方电话面试,6点准时电话就过来了,不得不说,这方面还是专业的,时间有点远了,依稀记得一...原创 2019-06-13 21:12:37 · 521 阅读 · 0 评论 -
为什么老程序员的效率如此高?编程速度快,Bug数量又少?
为什么老程序员编程速度快,Bug数量少?之前看到一位程序员讲到:2个月前公司有一个35+的老程序员入职,和项目主管一个年纪,但是还是干技术,基本没话,就是干自己的。公司暂时还没有让他挑大梁,观察了他2个月,发现那个老程序员手速不快,鼠标不快,码字不快,看他的代码,中规中矩也没有什么特别的地方,但是工作进度就是快很多。。。我想说的是,老程序员不是APM比你高,也不是思维比你快(纯指反应速...原创 2019-06-18 21:04:49 · 2355 阅读 · 1 评论 -
腾讯T3大牛带你了解 2019 Android开发趋势及必备技术点!
一、关于Android的前景不断地也听见很多人在谈做Android是否还有前途、Android研发在走下坡路了、Android的工作太难找了,对于这些其实我的看法很简单,现在真的还没到说Android开发已经无路可走的地步,当然未来怎样我无法预判。现在各大公司其实都很缺Android研发(中高级),不断的在招人,就拿很多一线互联网来说,别说来面试的人了,就简历都拿不到太多,需要花很多时间去找简...原创 2019-06-10 16:40:05 · 4975 阅读 · 5 评论 -
漫画:App 防止 Fiddler 抓包小技巧!
判断当前系统是否挂代理获取当前系统是否设置代理,可以根据不同的 Api Level,分别通过System.getProperty()和android.net.proxy.getXxx()方法获取到。 private fun checkWifiProxy(): Boolean { val IS_ICS_OR_LATER = Build.VERSION.SD...原创 2019-06-12 17:28:49 · 1403 阅读 · 0 评论 -
一个优秀的Android程序员不可避免的问题:内存泄漏
前言内存泄漏,一个说大不大说下不小的瑕疵。作为开发者,我们都很清楚内存泄漏是我们代码问题导致的。但是话说回来,泄漏后果会很严重嘛?这不好说,如果我们不泄漏Bitmap这种大内存的对象,那么修补内存泄漏就像鸡肋一样,“食之无味,弃之可惜”。 就比如说我们项目组,近2000w的DAU,只要不明显影响用户体验,一切以上需求为主…但是这作为一个996福报码农,不能只挖坑,不填坑,毕竟技术债都是要还...原创 2019-06-06 22:10:05 · 194 阅读 · 0 评论 -
Android开发:为什么你的学习效率如此低,为什么你很迷茫?
一天一天的过的真的是太快了,常常感到时间在前进,而我们还在停滞不前,看似每天努力的工作学习着,仔细想想其实又会发现,一天下来我们好像还真的什么都没干,看似忙碌的一天,我们把时间都用在哪了?学习!可是为什么我觉得什么也没学到呢?其实不是没有学到东西,只是我们的学习效率太低而已!为什么我们的学习效率如此的低呢?我们在上学一来一直都羡慕那种玩的多但是考的又好的人,他学习的时候你也在学习,他玩的时...原创 2019-07-18 15:55:36 · 25815 阅读 · 95 评论 -
玩转APK:实现Android APK瘦身99.99%
摘要:如何瘦身是 APK 的重要优化技术。APK 在安装和更新时都需要经过网络下载到设备,APK 越小,用户体验越好。本文作者通过对 APK 内在机制的详细解析,给出了对 APK 各组成成分的优化方法及技术,并实现了一个基本 APK 的最小化过程。正文:高尔夫运动中,分数最小者胜出。让我们将这一原则应用到 Android App 开发中。我们将玩转一个称为“ApkGolf”的 A...原创 2019-06-10 21:54:45 · 415 阅读 · 0 评论 -
天天给 App 抓包,还不懂 HTTP 代理吗? | 实用 HTTP
一、序今天来和大家一起聊聊 HTTP 代理。在 HTTP 协议中,最基础的就是请求和响应的报文,而报文又由报文头和报文实体组成。大多数 HTTP 协议的使用场景,都是依赖设置不同的 HTTP 请求/响应 的 Header 来实现的。既然要说到代理,先提两个问题来当主线,从问题出发讲解 HTTP 代理。 抓包工具是如何实现 HTTP 抓包的。 对于 HTTPS 流量,...原创 2019-06-18 21:31:46 · 607 阅读 · 1 评论 -
聊聊今年的互联网环境,Android开发者该有哪些思考?
今天我想和大家聊聊今年的互联网环境。大环境不好互联网现状今年的互联网,延续了去年的态势。虽然前些年,每到年底的时候大环境都不好,然而来年照样春暖花开。但是2018下半年的颓势,在2019年春天并未得到缓解,所以现在的互联网环境是真的不好了。首先各大公司争相优化员工,小公司我就不提了,咱就只说大公司。先有阿里、百度、京东、网易、美团和滴滴,再有外企甲骨文和IBM。前些年各大公...原创 2019-06-14 18:15:10 · 343 阅读 · 0 评论 -
别让程序员停止在 35 岁,如何让我们走得更远
由于互联网的蓬勃发展,科技技术的不断迭代更新,中国的互联网行业已经步入的世界的前列,因为,我们常常能看到,在各种各样的报道中,程序员都会誉为未来最有发展潜力的职业之一。看看现在流行的大数据,看看现在火热的AI,引导万物互联的物联网。所有的这一切,都需要一个职业来实现,那就是程序员。程序员的生命周期但是由于程序员工作的特性,可能从30岁开始,很多人就已经花白头发,可能除了考虑那些复杂...原创 2019-06-10 21:59:52 · 425 阅读 · 0 评论