自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 Android性能优化之APK瘦身详解(瘦身73%)

image公司项目在不断的改版迭代中,代码在不断的累加,终于apk包不负重负了,已经到了八十多M了。可能要换种方式表达,到目前为止没有正真的往外推过,一直在内部执行7天讨论需求,5天代码实现的阶段。你在写上个版本的内容,好了,下个版本的更新内容已经定稿了。基于这种快速开发的现状,我们app优化前已经有87.1M了,包大了,运营说这样转化不高,只能好好搞一下咯。优化过后包大小为23....

2019-08-08 15:47:32 430

转载 Android 性能优化系列:APK极致优化

本篇文章主要针对 Android性能优化 中 Android APK的大小优化然现在网速已经非常快,用户流量也很多,但是对于我们的 Android apk 文件进行优化还是很有必要的,动不动几十上百兆的大小,用户体验还是很不好的,下面我们就来整理一下 Android apk 的优化方法icon 图标使用 svg在我们的App中会有很多icon,而且美工小姐姐一般都是成套的给,所以在我们...

2019-08-08 15:45:47 409

转载 flutter混合工程持续集成的最佳实践

1. 引言本文重点来讲一讲Flutter混合工程中的Flutter直接依赖解除的一些具体实现。2. 思考因为目前闲鱼是Flutter和Native混合开发的模式,所以存在一部分同学只做Native开发,并不熟悉Flutter技术。(1)如果直接采用Flutter工程结构来作为日常开发,那这部分Native开发同学也需要配置Flutter环境,了解Flutter一些技术,成本比较大。...

2019-08-05 20:12:26 812

转载 资深Android开发带你入门Framework

今天,跟大家聊聊,Framework开发的那些事。系统应用开发,现在来说,已经开始脱离系统,单独拿出来开发,系统定制接口,已提供给应用调用,用来增强功能。原生的桌面,拨号,设置,已经没法做出差异化优势,因此都费尽心机,来进行应用深度开发。对于之前维护系统应用模块的人来讲,修修补补,真的没有什么成长。每天的工作来说,没有很深的技术壁垒,很容易被别人攻陷。比如设置,比如联系人,在小的改...

2019-08-05 20:11:33 548 1

原创 Android程序员如何制定自己的职业规划,拒绝做码农

无论是程序员还是任何其他的职业,我认为都应该有清晰长远的职业规划。虽然说计划没有变化快,但如果没有计划就更谈不上计划了。没有职业规划的人,在工作上基本都是为了完成任务而做,很难得到提升,因为没有目标,所以人就是一种得过且过的状态。所以作为一个有眼光的人,应该有自己长远的职业规划,即使没有长远的职业规划,也应该有短期的规划,这样人做事才有动力,有目标。程序员一直都是一个热门话题,因为工资比较高,...

2019-06-05 16:25:27 1433

原创 Android面试心得,已拿到offer

从年前至今参加面试了很多公司,也收到了几家巨头的offer,还有其他公司的。总结下经验,也是对过去的一个回顾和总结吧。一、简历网上有很多对程序员简历的一些指导,这里就不重述,大家可以搜下网上其他大神的总结,结合自身情况修改下。我有几点建议:1.尽量不要花哨,程序员和设计师或者产品运营还不一样,我们的简历成功与否决定权还是在技术面试官那,而他们看重的是你的项目经验内容和技术等描述。2...

2019-06-04 16:29:26 647

原创 给Android程序员快速提升开发水平的29条建议

Android的更新迭代无疑是很快的,看到有程序员朋友急于突破瓶颈而不得,这种情况我见得多了,有必要给你们一点人生的经验。于是我总结了29条作为Android程序员的人生经验希望能给大家带来一点思考。1、重构是程序员的主力技能。2、工作日志能提升脑容量。3、先用profiler调查,才有脸谈优化。4、注释贵精不贵多。杜绝大姨妈般的“例注”。漫山遍野的碎碎念注释,实际就是背景噪音...

2019-06-04 16:11:14 560

原创 为什么你的年薪只是别人的月薪?浅谈Android程序员的成长之路。

“工作多年,月薪还没过万……”“工作太无聊了,每天没有成就感……”“都快30岁了,曾经的同学都年薪百万了,自己还是不上不下……”“比自己晚进公司的同事都当上领导了,自己还是基层员工……”……为什么周围同事都晋升了,你还原地踏步?为什么有些人可以突破职场天花板,拿到第一个100万?你和年薪百万的人相比,到底差的是什么?硅谷有个小女孩萨马利·梅塔,6岁的时候阴差阳错把编程当游戏...

2019-05-23 16:38:52 627

原创 “我每天都保持3小时的学习”,6年Android工程师的经验分享

对于程序员来说,如果哪一天开始他停止了学习,那么他的职业生涯便开始宣告消亡。”这不是什么危言耸听的怪语,而是一位大牛几年前告诉我的,他的信条。作为Android程序员,Android火起来的短短几年里技术更新迭代特别快,各种工具,插件,库也是琳琅满目,就连基础的语法的更新也是年年不断。面对Android这样飞速的发展趋势,不学习其实就是变相的在倒退。四五年过去了,我也从当年的小菜鸡摸爬滚打...

2019-05-17 17:29:43 630 2

原创 初次面试的程序员,如何引起面试官的注意!

2019年已经过去了快二分之一,招聘的“金三银四”高峰期也已结束,兄dei?你的工作找的如何了?面对这即将到来的毕业季,又有一大波应届生开启了抢饭碗模式,求职,你准备的怎么样了?莫慌,小编这里有一套程序员面试经验总结,可保你求职无忧!面试题一般来说,程序员面试都会先由HR给一张面试题。面试题一般包含:逻辑题、代码规范、数据库理论、简单算法、高级函数应...

2019-05-16 14:48:18 650

原创 8年Android开发程序员教你如何写简历!看完别再问为何你只值5K

每年这个时候,就会有大量的程序猿、攻城狮、产品汪等等准备换一个新环境。而换环境的第一个门槛就是如何写好一份简历很多小伙伴私下问我,前端都学得差不多啦,想去面试看看,但是简历投出去都石沉大海了。本篇文章让我从写好简历到如何面对面试官做一个小小的解析,祝你一臂之力吧!还有一些人,看完别再问为何你只值5千了!我们写的简历,第一页上半页,前三行,务必需要表明自己的技术栈。而后可以针对...

2019-05-15 17:50:23 6025

原创 编程入门干货,腾讯高级Android架构师程序员分享,收藏必读

自从人类第一台计算机出现至今,互联网划时代的体现已经改变了我们的生活,我们已经离不开互联网了,而且未来的发展永远也不会离开互联网计算机这个行业,随着即将兴起的人工智能,互联网已经稳坐行业发展第一的宝座。越来越多的人选择加入这个行业,那么加入编程这个行业你应该怎么做或者怎么学习呢?下面就给大家分享下腾讯高级架构师的心得;如今IT新技术日新月异。就常用编程语言而言,有C/C++、汇编、Java...

2019-05-14 17:45:57 380

原创 BAT大厂与小公司程序员的编程水平到底有多大差距呢?

BAT的牛人多,普通人也多,虽然他们不是每个人都能达到令人仰望的技术水平,但毕竟平台高,所以眼光会变得宽阔;代码要求更为严格,所以普通的程序员也会被逼变得更优秀;身边的牛人多,普通的程序员也会受到影响,提升的更快。正好,小编今天看到一篇文章,是讲去阿里的面试经历,也分享给大家,看看自己离着【进】阿里还有多大的差距。Activity说下Activity生命周期 ?Activity...

2019-05-14 17:07:29 755

原创 程序员们!你对比阿里P1到P10,以你的能力能拿多少年薪?

前言根据近年数据,中国现有程序员500万左右,其中P1、P2数量占据了近100万,P8以下程序员约有497万,P8及以上仅有3万。80后是企业的技术支柱,90后已开始逐步成为企业的中坚力量。BAT的大佬横行,业内的散客也不容小觑。90后有人在P4彻夜敲代码,也有人正迈入P8。目前并没有对程序员等级进行明确的划分,很多时候是参照BAT的程序员等级进行判定。今天看到一篇对程序员等级划分...

2019-05-13 17:38:49 27347 1

原创 什么样的人能在未来主导Android市场

前几年移动互联网创业的风口,如今渐渐消失,移动互联网份额已经三分天下,市场已经饱和,Android开发需求也已饱和,当下大环境对人才的要求也越来越高。而当初移动互联网处于风口时,自学、转行以及培训机构出来了大量 Android 开发从业者,导致目前看起来市场人才供大于求。那么 Android 开发工程师们应该如何面对当下的局面呢?其实当下的供需关系不平衡不代表没有需求,市场上过多的是只会...

2019-05-08 20:07:45 378

原创 31岁程序员的苦恼:妻子总让我想办法考体制,铁饭碗总比码农强

程序员是高薪的代名词,动辄年薪十几万,年入百万的大牛比比皆是,不得不感慨互联网的确是块香饽饽,不少人通过互联实现了人生价值,当然付出和结果是成正比的,虽然程序员拥有高薪,付出的努力也是其它行业所不能比拟的,加班是常态,休息成了一种奢望,不少程序员到中年身体面临诸多的不适。为了高薪还得选择隐忍,在程序员聚集的论坛,(如果有对ja va编程感兴趣,可来我们的ja va技术学习裙啲哟,8819,...

2019-05-07 17:12:58 283

原创 没有学历的悲哀:程序员面试通过,却因不是985而被拒之门外!

描述了自己面试的经过描述了自己找工作的经过,称自己吃了没有学历的亏,好不容易面上一家大公司,却因为不是211或985学历,而只能以外包派遣员工的身份进入,要跟第三方公司签合同,福利什么的都跟第三方走。了解第三方劳务外包的职场人士应该知道,派遣工和正式员工的区别相差甚大。不少网友也对楼主表达了同情,有网友评论:这年头,新华三都把自己看这么高,看来IT行业凉的有点狠啊,新华三这种垃圾企业也配全...

2019-05-07 16:46:56 2964

原创 Android凉了?互联网寒冬了?不!是你穿的不够多而已

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

2019-05-05 19:59:25 2132

原创 腾讯面试Android高级岗,居然被一个多线程基础面倒了?

前言一个在深圳从事开发五年的老友一个月前从原公司辞职后,昨天去腾讯总部面试Android高级岗,一面的时候,自我介绍后,陆陆续续问了很多问题,有着五年的从业经验很多项目开发的技术问题都回答的很通顺,面试官也很满意,就在最后以为自己要顺利通过时,【多线程——进程线程】,一个基础问题一时没有答上来就失去了二面的机会!在我的身边不止发生了这一个大厂面试被拒的例子,所以从他们的身上我有总结出一...

2019-05-05 19:52:04 383

原创 撸起袖子自己写一个Android通用的刷新控件

项目中我们经常有上拉、下拉刷新的需求,几乎所有的listView、RecyclerView都会伴随着上拉、下拉刷新的需求,如果我们使用一些开源控件,换了控件我们就要更新,现在我们自己撸起袖子写一个通用的刷新控件思路:写一个继承RelativeLayout的RefreshLayout添加头尾控件作为刷新控件通过事件分发来进行刷新操作通过动画来控制控件移动目的:让他的所有子控件都可以使...

2019-04-29 21:33:50 1023

原创 有关Android插件化思考

最近几年移动开发业界兴起了「 插件化技术 」的旋风,各个大厂都推出了自己的插件化框架,各种开源框架都评价自身功能优越性,令人目不暇接。随着公司业务快速发展,项目增多,开发资源却有限,如何能在有限资源内满足需求和项目的增长,同时又能快速响应问题和迭代新需求,这就是一个矛盾点。此时,插件化技术正好风生水起,去了解各个主流框架实现思路,看看能对目前工作是否有帮助,是很有必要的。主要分为以下几个部分...

2019-04-29 21:32:40 1098

原创 Android 内存泄露分析

Android OOM/MemoryLeak各位读者可能都有拿的出手的github或者APP实战项目,但是会使用现成的XX开源组件并不代表你的基础就很好。本文将带你补习Android基础 -- Android中内存泄露实例,分享给大家。1. 基础在阅读本文前,请了解如下基础本文属于java语言上的分析,不涉及到GC,虚拟机,native底层细节的实现。2. 什么是内存泄漏...

2019-04-29 21:31:19 577

原创 Android打包之多版本、多环境、多渠道

在平时的Android开发中,我们经常会遇到在不同网络环境(比如:开发环境、测试环境)之间的切换、一次打多个渠道包等需求,如何优雅的管理网络环境的配置?如何快速的打出多个渠道包?这是一个值得研究的问题。如果每一次在不同网络环境间切换,都需要更改代码,然而重新打包,那未免有点低效。下面是我的实践探索,看网上很多人都是根据buildType来切换网络环境,感觉有点不好,因为网络环境可能很多种,...

2019-04-29 19:50:06 343

原创 Android实现Rxjava2+Retrofit完美封装

去年的时候学习了Rxjava和Retrofit的基本用法,但一直没有在实际项目中运用。今年开做新项目,果断在新项目中引入了RxJava和Retrofit。本篇文章将介绍笔者在项目中对Retrofit的封装。先来看一下封装过后的Retrofit如何使用。RetrofitHelper.getApiService() .getMezi() ...

2019-04-29 19:47:09 448

原创 Android内存泄漏检测和定位

这篇文章,本文的例子来源于文章中的内存泄漏典型例子内存泄漏检测工具Profiler其实Android studio自带的 Profiler 是不错的,可以很直观看到CPU、内存、网络的变化,但是有时候简单看看是看不出来内存泄漏的,需要知道具体怎么去分析Android LeakCanaryAndroid LeakCanary易于集成,自动检测出内存泄漏,十分好用使用Profi...

2019-04-25 16:50:47 313

原创 Flutter之撸一个漂亮的登录界面的总结

介绍最近学习了Flutter的一些控件使用,然后在Github上面看见了一个挺漂亮的登录界面,于是就用Flutter自己模仿地实现了一下。原作者做得比较好看,不过只是单纯实现界面。所以自己加了些东西,比如Key的使用和InheritedWidget的使用。下面是一些总结,如果有说错的地方,还请各位指出来,谢谢。最终的展示界面代码结构每个类的名字,相...

2019-04-25 16:48:49 551

原创 HorizontalVerticalViewPager实现水平垂直都可滑动

水平垂直都可滑动的HorizontalVerticalViewPager实现自定义一个可以在垂直方向上滑动的ViewPager,同时支持水平和垂直方向手动切换和自动切换(根据手势判断),垂直方向的实现通过PageTransformer来完成,自动切换功能则涉及到手势的相关内容。以下是内容简介: 垂直滑动的ViewPager实现思路 PageTransformer的使用 ...

2019-04-25 16:46:38 519

原创 手把手带你搭建Mvp+Dagger架构

0. 序言之前写过一篇名为"看完不会写MVP架构我跪搓板"的博文,收到一些阅读者的建议,希望能够对Rxjava的生命周期进行管理以及添加Dagger到MVP架构中,所以今天抽一点时间写一篇拿来即可于实战的Demo。1. 博文目录 添加依赖 创建项目基本目录 实现Model 定义契约接口NewsInfoContract 实现Presenter ...

2019-04-25 16:44:45 290

原创 Android Dex分包之旅

当程序越来越大之后,出现了一个 dex 包装不下的情况,通过 MultiDex 的方法解决了这个问题,但是在低端机器上又出现了 INSTALL_FAILED_DEXOPT 的情况,那再解决这个问题吧。等解决完这个问题之后,发现需要填的坑越来越多了,文章讲的是我在分包处理中填的坑,比如 65536、LinearAlloc、NoClassDefFoundError等等。INSTALL_FAILED...

2019-04-25 16:41:51 558

原创 Android 实现TextView的部分文字和网络链接及电话号码点击监听

前言最近在写项目的时候遇到了一个这样的需求,要像qq一样,点击评论的者的名字要跳转评论者的用户信息界面,并且点击评论信息中的web链接要跳转到WebActivity,同时如果是其他数字的话要像qq一样点击并显示底部Dialog提示是播打电话还是复制号码。效果先给大家看看效果下面的评论由一个TextView显示,其实显示为淡蓝的都是可以点击的区域。思路因为没做过肯定...

2019-04-22 17:13:49 238

原创 Android RecyclerViewHelper上拉加载更多/头尾布局/拖拽排序/侧滑删除/侧滑选择/万能 ...

1.写在前面2019年的第一篇文章,分享一个自己写的开源项目,主要是对RecyclerView控件的一些常用功能封装, 包括(上拉加载更多、头尾布局、拖拽排序、侧滑删除、侧滑选择、万能分割线)。RecyclerViewHelper主要使用了装饰者模式对项目原有的Adapter进行功能扩展,不会影响项目的原有结构,集成和修改都非常方便,一起来看下。GitHub传送门2.引入依赖库...

2019-04-22 17:12:37 144

原创 Android Rxjava :最简单&全面背压讲解 (Flowable)

1.前言阅读本文需要对Rxjava了解,如果还没有了解或者使用过Rxjava的兄die们,可以观看我另外一篇Android Rxjava:不一样的诠释进行学习。Rxjava背压:被观察者发送事件的速度大于观察者接收事件的速度时,观察者内会创建一个无限制大少的缓冲池存储未接收的事件,因此当存储的事件越来越多时就会导致OOM的出现。(注:当subscribeOn与observeOn不为同一个...

2019-04-22 17:11:00 934

原创 RecyclerView之自定义LayoutManager和SnapHelper

主要是实现类似于抖音翻页的效果,但是有有点不同,需要在底部漏出后面的view,这样说可能不好理解,看下Demo,按页滑动,后面的View有放大缩放的动画,滑动速度过小时会有回到原位的效果,下滑也是按页滑动的效果。有的小伙伴可能说这个用SnapHelper就可以了,没错,翻页是要结合这个,但是也不是纯粹靠这个,因为底部需要漏出来后面的view,所以LayoutManager就不能简单...

2019-04-22 17:07:42 478

原创 来温故一下Android中需要知道的Java集合框架吧

前言子曰:温故而知新,可以为师矣。做android已经有好一段时间了,今天突然看到代码中写的各种用来存储数据的ArrayList、管理Activity的LinkedList、用来Retrofit请求数据时多个参数拼接的HashMap。也许使用已经成为了一种习惯,可是使用他的理由又开始在脑海中慢慢淡化了,故写一篇文章来温故 在我们平时的android开发中,常用的java集合框架。正文...

2019-04-22 17:05:15 113

原创 现代化 Android Pie: 安全与隐私

没有什么时候比节假日更适合聊 Android 甜点系统了,毕竟,有谁不喜欢在放假的时候来上一两口甜点呢?那么,大家最喜欢的节日甜点又有些什么呢?我相信派 (Pie) 肯定是不少小伙伴的心上之选。说真的,"派" 这个比喻确实很恰当,各种材料细细烘焙,化为层层美味: 精致的馅料 (软件) 配上酥脆的底子 (硬件) ,简直完美!感兴趣的读者不妨耐心阅读下文,了解一下 Android Pie 新添加了...

2019-04-17 21:18:49 244

原创 Android 高级面试题及答案

1.如何对 Android 应用进行性能分析android 性能主要之响应速度 和UI刷新速度。可以参考博客:Android系统性能调优工具介绍首先从函数的耗时来说,有一个工具TraceView 这是androidsdk自带的工作,用于测量函数耗时的。UI布局的分析,可以有2块,一块就是Hierarchy Viewer 可以看到View的布局层次,以及每个View刷新加载的时间。...

2019-04-17 21:17:52 209

原创 Android Rxjava:图解不一样的诠释

1.前言 Rxjava, 具有链式调用、使用简单&事件与结果松耦合的特点。 Rxjava, 之所以深受欢迎它包含非常多操作符,能通过 【链式形】 优雅整洁的代码几乎能实现所有的功能需求。 本文特点:图多字少、逻辑简单。 之前面试中被问了很多Rxjava的知识,今天献一份不一样诠释,希望大家喜欢。 2.目录3.简介4.原理...

2019-04-17 21:16:26 147

原创 Android NFC技术解析,附Demo源码

近期由于项目需求,对Android NFC 技术进行了一定的了解和深入,整合了一些网络、书籍资料,此文章仅作为自己的学习笔记。源码请看文末提供了一种简单、触控式的解决方案,可以让消费者简单直观地交换信息、访问内容与服务。NFC技术允许电子设备之间进行非接触式点对点数据传输,在十厘米(3.9英吋)内,交换数据,其传输速度有106Kbit/秒、212Kbit/秒或者424Kbit/秒三种。接下来我们...

2019-04-17 21:13:09 704

原创 金三银四背后,一个 Android 程序员的面试心得

回顾一下自己这段时间的经历,九月份的时候,公司通知了裁员,我匆匆忙忙地出去面了几家,但最终都没有拿到offer,我感觉今年的寒冬有点冷。到十二月份,公司开始第二波裁员,我决定主动拿赔偿走人。后续的面试过程我做了一些准备,基本都能走到hr面,后面我也顺利地拿到了offer,我给大家分享下我的求职体会,希望能给大家一些参考。一般Android面试分为两部分:Java部分和Android部分,下面说...

2019-04-17 21:09:00 171

原创 爱奇艺Android客户端启动优化与分析

1 简介互联网领域里有个八秒定律,如果网页打开时间超过8秒,便会有超过70%的用户放弃等待,对Android APP而言,要求更加严格,如果系统无响应时间超过5秒,便会出现ANR,APP可能会被强制关闭,因此,启动时间作为一个重要的性能指标,关系着用户的第一体验。爱奇艺安卓APP非常重视启动速度的优化,本文将从启动过程,启动时间测量,启动优化,以及后续监控等方面分享我们在启动优化方面积累的...

2019-04-16 20:55:28 159

空空如也

空空如也

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

TA关注的人

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