自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 收藏
  • 关注

原创 Android应届毕业生“过五关斩六将”,怒刷千题,让你面试一路畅通!

面试:如果不准备充分的面试,完全是浪费时间,更是对自己的不负责!如果想变得优秀那就去看那些优秀的人在学什么,做什么,想尽一切办法和他们交流;多出去看看这个世界,然后把自己逼到往死里学。如今已是五月底,马上即将迎来六月份的毕业季,大批的届毕业生即将进入求职面试的紧张阶段,在这里分享一下我从事Android多年以来的面试经验。这篇攻略是我从事开发工作七八年来,去面试,以及面试别人的...

2019-06-14 21:17:13 754 4

原创 屌丝的眼泪,因为错过的初恋,才搞清楚PNG图片压缩原理

背景今天凌晨一点,突然有个人加我的qq,一看竟然是十年前被我删掉的初恋。。。。因为之前在qq空间有太多的互动,所以qq推荐好友里面经常推荐我俩互相认识。。。。谜之尴尬同意好友申请以后,仔细看了她这十年间所有的qq动态和照片。她变美了,会打扮了,以前瘦瘦的身材配上现在的装扮和妆容,已经是超越我认知的女神了。而我依然碌碌无为,逐渐臃肿的身体加上日益上扬的发际线,每天为生活操劳和...

2019-06-10 21:13:16 8822 63

原创 Android完整知识体系路线(菜鸟-资深-大牛必进之路)

前言移动研发火热不停,越来越多人开始学习Android 开发。但很多人感觉入门容易成长很难,对未来比较迷茫,不知道自己技能该怎么提升,到达下一阶段需要补充哪些内容。市面上也多是谈论知识图谱,缺少体系和成长节奏感,特此编写一份 Android 研发进阶之路,希望能对大家有所帮助。由于篇幅过长,有些问题的答案并未放在文章当中,不过我都整理成了一个文档归纳好了,请阅读到文末领取~Ja...

2019-06-10 21:09:17 8888 22

原创 Kotlin中 四个提升逼格的关键字你都会了吗?

使用kotlin的时候对这几个关键字的使用不是很明确,找了很多文章和书籍来加深一下印象,感谢mikyou开篇看结论letlet扩展函数的实际上是一个作用域函数,当你需要去定义一个变量在一个特定的作用域范围内,let函数的是一个不错的选择;let函数另一个作用就是可以避免写一些判断null的操作。 let函数的一般结构 object.let{it.todo()//在函数...

2019-06-28 21:40:12 387

原创 不会搭建Android知识框架,活该你成不了技术大牛!

正文共:3327字建议只字不差的阅读(一篇文章都没耐心读完,你还能干啥)接下来我会尽最大的篇幅把我的方法论给大家讲清楚,每一个步骤会告诉你为什么这么做以及到底该如何做,也就是说我不仅告诉你这个道理,更会给你提供切实可行的方案,可以让你马上行动起来!首先自学安卓的第一步,经过我长时间的自学经验总结,最好的方式就是首先从搭建知识框架开始,这个知识框架就好比盖一座房子,它就相当于房屋的整...

2019-06-27 21:51:39 346 1

原创 互联网面试实习经验分享-开发岗

六月份,又是一个毕业季,最近各大互联网的暑期实习招聘要开始了,身边的小伙伴们也都忙碌了起来。整理了一些 开发类面试经验,分享给需要的同学。我先做个简单的自我介绍。晓晓,研二在读,大三学年末开始接触Android开发,前后共在美团、头条等公司实习18个月左右。有过6-8次面试经历,包括百度、网易、keep等,有些通过有些失败,在这里分享一些开发类面试通用型问题,并不只针对于Android开发...

2019-06-25 20:57:41 954 1

原创 Android 垃圾回收黑科技

今天,我们来学习下 Android 中的垃圾回收机制。大家应该知道,JVM 和 Dalvik 的垃圾回收机制实际并不完全相同。而垃圾回收机制一直都是工作和面试中的必备技能,对 GC 有深入的理解,才能在代码层面更好地去减少 GC 的发生,毕竟每次 GC 都会对主线程的运行造成一定的卡顿,从而影响到用户体验。1前言本节将介绍支付宝 Android 客户端启动速度优化下的「垃圾回收」具...

2019-06-25 18:03:26 750

转载 关于Android学习的三个终极问题身为程序员的你有遇到吗?

缘起以前在读研的时候,有一次和同学一起上自习。我在学习,他也在学习。我想,大家每天都一起上课,记笔记,上自习,完成作业,智商也差不多,为何考试的时候有时候差距会很大呢?这个问题我直到今天也没有答案,这几天和朋友闲聊说到这个事情。他们有得说是智商有差距,有得说是学习的时候心不在焉——看着在学习,其实已神游大千世界。.....,不过,我自己从来没有下过类似的结论。我武断的猜测,这个问题应该是没...

2019-06-25 17:32:08 526

原创 一篇看懂Android与Flutter之间的通信

Flutter作为一种跨平台解决方案,经常会作为一个模块嵌入到原生Android与iOS应用中,Flutter与Android原生端的通信必不可少。所以本文就来讲述一下Android如何与flutter进行通信。1、架构概述消息通过平台通道在native(host)与flutter(client)之间传递,如下图所示:为了确保用户界面能够正确响应,消息都是以异步的方式进行传递。无论...

2019-06-24 17:35:53 952 1

原创 面试总结:我是如何通过阿里面试的?电话面+视频面+boss面+交叉面+HR面

几个月前参加了19年的阿里春招,有幸最终拿到阿里offer,base杭州,岗位客户端开发。这段时间一直忙于其他事情,拿到意向已经过去几个月了其实,但是在其中也有在慢慢整理那次的面试内容,今天终于整理好了,在此分享一些关于面试的干货,攒一波RP,回馈社会。一面阿里的面试官都很和蔼。一面面试官听声音感觉应该是入职两三年的感觉。上来自我介绍后直接开始问android相关问题。大概问题如下...

2019-06-21 21:48:29 10466

原创 腾讯开源超实用的UI轮子库,我是轮子搬运工

QMUI_Android功能特性全局 UI 配置只需要修改一份配置表就可以调整 App 的全局样式,包括组件颜色、导航栏、对话框、列表等。一处修改,全局生效。丰富的 UI 控件提供丰富常用的 UI 控件,例如 BottomSheet、Tab、圆角 ImageView、下拉刷新等,使用方便灵活,并且支持自定义控件的样式。高效的工具方法提供高效的工具方法,包括设备...

2019-06-21 20:32:03 458

原创 Android程序员在职业生涯中如何规划自己?——阿里大牛给你建议

你所能犯的最大错误就是相信自己是在为别人工作。这样一来你对工作的安全感已然尽失。职业发展的驱动力一定是来自个体本身。记住:工作是属于公司的,而职业生涯却是属于你自己的。——厄尔•南丁格尔很少有软件开发人员会主动管理自己的职业生涯。可是,成功的软件开发人员之所以能成功都不是偶然的。他们目标明确,为了达成目标,他们制订了坚实可靠而又深思熟虑的计划。如果你真的想在软件开发这个充满竞争的世界里脱颖...

2019-06-20 21:58:29 1895 1

原创 Android OkHttp 史上最优雅的设置baseUrl

为何要重复造轮子为什么要重复造轮子?无非就一个原因以前的轮子有些功能不好用,用起来不够优雅我们先来说说第一条,Retrofit哪里不好用,用起来不够优雅?首先,我觉得是对文件的操作不是那么的友好,如文件上传/下载、上传/下载进度监听、断点下载,这些都需要我们进行二次封装,看过Android 史上最优雅的实现文件上传、下载及进度的监听的同学知道,使用RxHttp是多么的简单;然后,...

2019-06-20 21:55:14 2136

原创 我的工作感悟:作为Android 开发者,该如何提升自己的职场竞争力?

互联网现状今年的互联网,延续了去年的态势。虽然前些年,每到年底的时候大环境都不好,然而来年照样春暖花开。但是2018下半年的颓势,在2019年春天并未得到缓解,所以现在的互联网环境是真的不好了。首先各大公司争相优化员工,小公司我就不提了,咱就只说大公司。先有阿里、百度、京东、网易、美团和滴滴,再有外企甲骨文和IBM。前些年各大公司优化员工的时候都藏着掖着,而且用词很含蓄,都说是正常的人...

2019-06-20 17:25:56 758

原创 Android 上唯一好用的图片标注 App:马克标注

不同于 iOS 平台上图片标注类应用百花齐放的局面,Android 平台上「能用」的图片标注应用少之又少,功能全面、体验优秀的更是凤毛麟角。因此如果你也在苦寻一款好用、高效且功能丰富,支持高亮、打码、笔刷甚至放大等功能的图片标注应用,今天介绍的「马克标注」也许就是当前我们的唯一选择。基础功能和大部分图标标注类应用一样,马克标注支持箭头、笔刷、添加图形等基础功能,所有标注工具都支持更换不...

2019-06-19 21:11:39 8203 1

原创 Android开发——如何设计开发一款Android App

本文从开发工具选择,UI界面、图片模块、网络模块、数据库产品选择、性能、安全性等几个方面讲述了如果开发一个Android应用。现在整理出来分享给广大的Android程序员兄弟们。开发工具的选择开发工具我将选用 Android Studio,它是Google官方指定的Android开发工具,目前是1.2.2稳定版,1.3的预览版也已经发布了。 Android Studio的优点就不需多说...

2019-06-19 20:48:33 1150

转载 Android 性能测试这样做,新手离开挂人生也不远了

Android性能测试,跟pc性能测试一样分为客户端及服务器,但在客户端上的性能测试分为2类,对于应用性能测试,包括很多测试项,如启动时间、内存、CPU、GPU、功耗、流量等。但针对rom版本的性能测试,一般关注功耗。一、不同版本的性能测试1、rom版本的性能测试rom版本一般就关注功耗测试,不过rom版本的功耗测试跟应用的功耗测试会有所差异,当然只是用例设计方面的差异,工具仍然采用安...

2019-06-19 17:47:26 204

原创 天天给 App 抓包,还不懂 HTTP 代理吗? | 实用 HTTP

一、序今天来和大家一起聊聊 HTTP 代理。在 HTTP 协议中,最基础的就是请求和响应的报文,而报文又由报文头和报文实体组成。大多数 HTTP 协议的使用场景,都是依赖设置不同的 HTTP 请求/响应 的 Header 来实现的。既然要说到代理,先提两个问题来当主线,从问题出发讲解 HTTP 代理。 抓包工具是如何实现 HTTP 抓包的。 对于 HTTPS 流量,...

2019-06-18 21:31:46 493 1

原创 为什么老程序员的效率如此高?编程速度快,Bug数量又少?

为什么老程序员编程速度快,Bug数量少?之前看到一位程序员讲到:2个月前公司有一个35+的老程序员入职,和项目主管一个年纪,但是还是干技术,基本没话,就是干自己的。公司暂时还没有让他挑大梁,观察了他2个月,发现那个老程序员手速不快,鼠标不快,码字不快,看他的代码,中规中矩也没有什么特别的地方,但是工作进度就是快很多。。。我想说的是,老程序员不是APM比你高,也不是思维比你快(纯指反应速...

2019-06-18 21:04:49 2214 1

原创 揭秘:Android屏幕中你不知道的刷新机制

前言之前在整理知识的时候,看到android屏幕刷新机制这一块,以前一直只是知道,Android每16.6ms会去刷新一次屏幕,也就是我们常说的60fpx,那么问题也来了:16.6ms刷新一次是什么一次,是以这个固定的频率去重新绘制吗?但是请求绘制的代码时机调用是不同的,如果操作是在16.6ms快结束的时候去绘制的,那么岂不是就是时间少于16.6ms,也会产生丢帧的问题?再者熟悉绘制的朋友...

2019-06-17 22:04:53 407

原创 刷抖音上瘾后,决定探究如果做一款类似抖音短视频app

一、短视频内容生产优质短视频内容的产生依赖于短视频的采集和特效编辑,这就要求在进行抖音APP开发时,用到基础的美颜、混音、滤镜、变速、图片视频混剪、字幕等功能,在这些功能基础上,进行预处理,结合OpenGL、AI、AR技术,产生很多有趣的动态贴纸玩法,使得短视频内容更具创意。视频录制的大致实现流程是先由 Camera 、 AudioRecord 进行最原始的相机画面以及声音的采集,然后...

2019-06-17 21:55:38 578

原创 Android 常见安全漏洞修复理论与实践

前言前段时间公司对应用在爱加密上进行了安全扫描,本文将基于爱加密的漏洞分析报告,针对部分内容,介绍理论修复实践最小化特权准则概念介绍最小化特权准则,即指组件只能供自身应用调用,尽可能禁止其他应用访问及调用。违反最小化特权的危害若组件违反最小化特权准则,则会带来如下危害: 攻击者恶意调用应用的 Activity, 修改程序的状态或关键数据。举个例子,如果您的应用的应用需...

2019-06-17 13:38:07 862

原创 Activity之间的数据传递方法汇总

要有 Intent,此时 Intent 是可以携带数据的,我们可以利用它将数据传递给其它Activity。Intent 应该是系统提供的支持类型最广,功能最全面的传递方式了。基本数据类型、复杂数据类型(如数组、集合)、自定义数据类型等等都能支持,而且使用起来也不复杂。下面将通过几个小栗子分别介绍一下这几种方法。1.1、基本数据类型传递String 不是基本数据类型,Java 的基本数据类型...

2019-06-16 20:42:39 993

原创 遇奇葩面试官,问自我介绍做了半个多小时是什么感受?

本文收集自相关问题下自己的答案最近在之乎看到了一个关于“面试遇到过怎么样的奇葩?”,当时看到这个题的瞬间我感觉心头一震,不由得想起了那个尴尬得石化的那个下午,在这里分享一下我的故事。那是某猎头推荐的世界500强的某外企的资深研发职位,而且绝对是说出名字您一定听过的某公司,为了给这位面试官留个脸面我就不提名字了。一开始是电话面试,对面自我介绍了一下,是某某组的某某技术leader。以...

2019-06-15 20:43:16 944

原创 骚操作:使用RxJava实现ImageView的拖动、旋转和缩放

本文介绍一种使用Rxjava实现图片交互操作的方法。支持单指拖动,双指旋转缩放,效果如下:自定义View首先自定义TrsImageView继承ImageView,设置ScaleType为Matrix,我们使用矩阵计算最终的translate, rotate和scale。public class TrsImageView extends ImageView { publi...

2019-06-14 21:49:08 300

原创 毕业3年,我是如何从年薪10W的拖拽工程师成为30W资深Android开发者!

曾听过很多人说Android学习很简单,做个App就上手了,工作机会多,毕业后也比较容易找工作。这种观点可能是很多Android开发者最开始入行的原因之一。在工作初期,工作主要是按照业务需求实现App页面的功能,按照设计师的设计稿实现页面的效果。在实现的过程中,总是会被提如下的需求:这个字能不能大点或者醒目点儿?感觉颜色和设计稿有差别,能不能再调调?怎么老是崩溃啊,行不行啊?....

2019-06-14 21:04:04 295

原创 聊聊今年的互联网环境,Android开发者该有哪些思考?

今天我想和大家聊聊今年的互联网环境。大环境不好互联网现状今年的互联网,延续了去年的态势。虽然前些年,每到年底的时候大环境都不好,然而来年照样春暖花开。但是2018下半年的颓势,在2019年春天并未得到缓解,所以现在的互联网环境是真的不好了。首先各大公司争相优化员工,小公司我就不提了,咱就只说大公司。先有阿里、百度、京东、网易、美团和滴滴,再有外企甲骨文和IBM。前些年各大公...

2019-06-14 18:15:10 289

原创 寒冬下2年Android的求职历程(已拿到深信服、志安科技、TCL等 offer)

背景楼主双非本科,17年毕业,学历背景一般,由于个人原因吧,不得不从杭州撤离了,直接从公司裸辞了,处理好家中的事情后,本着换个环境的想法,直接奔向深圳了,也是开启了又一次的求职之旅,确实今天的大环境不太好,这里做一下记录吧。腾讯(社交部门QQ 挂)一面一面是一个电话面试,下午6点左右特地找了一个地方电话面试,6点准时电话就过来了,不得不说,这方面还是专业的,时间有点远了,依稀记得一...

2019-06-13 21:12:37 451

原创 {Android}参加阿里完面试后:一到HR四面,我的复盘经验总结!

阿里中间件团队一面:第一步:先自我介绍首先要介绍自己的项目经验和个人的擅长点,因为面试官主要考察你的表达能力和语言精简能力。简历的编写其实这里可能需要注意几点;1.标题的直接按照姓名-几年工作经验-应聘岗位格式来填写。例如 黄铭——四年工作经验——Android开发高级工程师。因为要知道,HR筛选简历是非常快的,你要在第一时间就让他看到他想要看的信息。HR一开始最关心的就是工作年限和...

2019-06-13 20:57:54 528

原创 一位Android大牛的BAT面试心得与经验总结(面试收获及答案)

序言目前形势,参加到Android队伍的人是越来越多,可以说是已经达到了供过于求的地步了。今年,找过工作人可能会更深刻地体会到今年的就业形势不容乐观,之前实习的时候就想着写一篇面经,后来忙就给忘了,现在找完工作了,也是该静下心总结一下走过的路程了,我全盘托出,奉上这篇面试心得与经验总结。诚意之作,希望可以给在外来找工作的人一点指导以及帮助,如果能耐心读完的话,相信你会找到自己想需要...

2019-06-13 20:50:05 418

原创 漫画: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 1343

原创 别让程序员停止在 35 岁,如何让我们走得更远

由于互联网的蓬勃发展,科技技术的不断迭代更新,中国的互联网行业已经步入的世界的前列,因为,我们常常能看到,在各种各样的报道中,程序员都会誉为未来最有发展潜力的职业之一。看看现在流行的大数据,看看现在火热的AI,引导万物互联的物联网。所有的这一切,都需要一个职业来实现,那就是程序员。程序员的生命周期但是由于程序员工作的特性,可能从30岁开始,很多人就已经花白头发,可能除了考虑那些复杂...

2019-06-10 21:59:52 384

原创 Android布局优化:include 、merge、ViewStub的详细总结

一、include的用法以及注意点在开发Android布局时,我们常将一些通用的视图提取到一个单独的layout文件中,然后使用<include>标签在需要使用的其他layout布局文件中加载进来,比如我们自己App导航栏等。这样,便于对相同视图内容进行统一的控制管理,提高布局重用性。下面我们以大部分项目中都有的头部导航栏为例,说明一下include的使用,比如我们项目自己统一...

2019-06-10 21:57:11 277

原创 玩转APK:实现Android APK瘦身99.99%

摘要:如何瘦身是 APK 的重要优化技术。APK 在安装和更新时都需要经过网络下载到设备,APK 越小,用户体验越好。本文作者通过对 APK 内在机制的详细解析,给出了对 APK 各组成成分的优化方法及技术,并实现了一个基本 APK 的最小化过程。正文:高尔夫运动中,分数最小者胜出。让我们将这一原则应用到 Android App 开发中。我们将玩转一个称为“ApkGolf”的 A...

2019-06-10 21:54:45 344

原创 腾讯T3大牛带你了解 2019 Android开发趋势及必备技术点!

一、关于Android的前景不断地也听见很多人在谈做Android是否还有前途、Android研发在走下坡路了、Android的工作太难找了,对于这些其实我的看法很简单,现在真的还没到说Android开发已经无路可走的地步,当然未来怎样我无法预判。现在各大公司其实都很缺Android研发(中高级),不断的在招人,就拿很多一线互联网来说,别说来面试的人了,就简历都拿不到太多,需要花很多时间去找简...

2019-06-10 16:40:05 4834 5

原创 Android笔记:在原生App中嵌入Flutter

本文参考文档Add Flutter to existing apps。首先有一个可以运行的原生项目第一步:新建Flutter moduleTerminal进入到项目根目录,执行flutter create -t module ‘module名字’例如:flutter create -t module flutter-native执行完毕,就会发现项目目录下生成了一个module...

2019-06-09 20:07:04 1097

原创 Android端的短视频开发,我们该如何快速实现移动端短视频功能?

当下抖音非常火热,是不是也很心动做一个类似的app吗?一.短视频内容生产优质短视频内容的产生依赖于短视频的采集和特效编辑,这就要求在进行抖音APP开发时,用到基础的美颜、混音、滤镜、变速、图片视频混剪、字幕等功能,在这些功能基础上,进行预处理,结合OpenGL、AI、AR技术,产生很多有趣的动态贴纸玩法,使得短视频内容更具创意。视频录制的大致实现流程是先由 Camera 、 A...

2019-06-08 11:57:19 2410

原创 Android 网络优化,使用 HTTPDNS 优化 DNS,从原理到 OkHttp 集成

一、前言谈到优化,首先第一步,肯定是把一个大功能,拆分成一个个细小的环节,再单个拎出来找到可以优化的点,App 的网络优化也是如此。在 App 访问网络的时候,DNS 解析是网络请求的第一步,默认我们使用运营商的 LocalDNS 服务。有数据统计,在这一块 3G 网络下,耗时在 200~300ms,4G 网络下也需要 100ms。解析慢,并不是 LocalDNS 最大的问题,它还存在...

2019-06-07 22:04:33 1641

原创 一个优秀的Android程序员不可避免的问题:内存泄漏

前言内存泄漏,一个说大不大说下不小的瑕疵。作为开发者,我们都很清楚内存泄漏是我们代码问题导致的。但是话说回来,泄漏后果会很严重嘛?这不好说,如果我们不泄漏Bitmap这种大内存的对象,那么修补内存泄漏就像鸡肋一样,“食之无味,弃之可惜”。 就比如说我们项目组,近2000w的DAU,只要不明显影响用户体验,一切以上需求为主…但是这作为一个996福报码农,不能只挖坑,不填坑,毕竟技术债都是要还...

2019-06-06 22:10:05 161

原创 Flutter提升开发效率的一些方法和工具

Flutter的环境搭配完之后,就开始Flutter的开发,下面的一些工具和方法,可以省下一些时间。自己在用的,暂时想到的,就是这些了,总结一下。1.JSON解析快速生成实体类根据接口返回的数据,编写实体类,添加两个方法。fromJson()方法是可以聪一个Map中构造出一个User的实例,toJson()方法,可以将一个实例转化为Map。如果接口返回的数据比较复杂点,...

2019-06-06 22:09:45 1495

空空如也

空空如也

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

TA关注的人

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