自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 2020最新Android开发中高级进阶书籍推荐

很多Android开发小伙伴进阶学习都是卖一堆技术书籍。这里整理了目前最主流的中级,高级进阶书籍。感兴趣可以收藏一下,作为一个参考~一,中级进阶推荐看一下以下这几本书:中级进阶书籍相信大家很熟悉,或者桌上摆着其中几本。就不详细介绍了;《Android从入门到精通(附光盘)》 明日科技 编《第一行代码2 Android(第二版)》 郭霖 著《Android开发进阶 从小工到专...

2020-02-21 23:43:04 11639 2

原创 反思一次羞愧的阿里面试经历

反思昨晚去北京大望路阿里面试, 产生了严重的挫败感, 羞愧难当.比不得从大学就有目标有理想, 一直在为目标努力学习技术的同学, 在大学唯一能拿得出手的就是参加了电子设计大赛, 学了点嵌入式的知识.毕业后开始做android, 说得好听点叫做项目, 实际上就是搬代码, 真正记到脑子里的有多少呢? 从百度Google搬到自己的代码里, 同一个问题要遇到好几次才能记住, 很多问题搬完了还...

2020-02-28 21:28:25 273

原创 Android 性能优化-ANR 的原因和解决方案

1、出现 ANR 的情况满足下面的一种情况系统就会弹出 ANR 提示输入事件(按键和触摸事件) 5s 内没被处理;BroadcastReceiver 的事件 ( onRecieve() 方法) 在规定时间内没处理完 (前台广播为 10s,后台广播为 60s);Service 前台 20s 后台 200s 未完成启动;ContentProvider 的 publish() 在 10s ...

2020-02-28 21:24:08 1501

原创 还在用 MVP?快来试试 MVVM框架吧!

优势稳定减少内存泄漏:新手很容易在线程切换的地方写出导致内存泄漏的代码,但如果把线程切换交给框架来做,出错的概率就大大降低。 减少 crash:根据我的开发经历,大部分 crash 都是空指针导致的。一般线程回调里最容易出现问题,当UI销毁后,子线程依旧去操作UI,容易导致 crash。 本框架有完善的生命周期,UI销毁后,框架对子线程做了强制的停止操作,大大减少 crash 的概率...

2020-02-28 21:20:01 193

原创 智力题(BAT面试经典题)

NO.1有20瓶药丸,其中19瓶装有1克/粒的药丸,余下一瓶装有1.1克/粒的药丸。给你一台称重精准的天平,怎么找出比较重的那瓶药丸?天平只能用一次。解法;有时候,严格的限制条件有可能反倒是解题的线索。在这个问题中,限制条件是天平只能用一次。因为天平只能用一次,我们也得以知道一个有趣的事实:一次必须同时称很多药丸,其实更准确地说,是必须从19瓶拿出药丸进行称重。否则,如果跳过两瓶或更...

2020-02-25 17:23:16 1003

原创 Android屏幕适配;知识点+攻略+面试要点

引子屏幕适配是 android开发/面试绕不开的一个问题。本文 将屏幕适配的知识要点完整展现给各位读者。正文大纲android需要做屏幕适配的原因 基础知识点(很重要) 屏幕适配攻略正文android需要做屏幕适配的原因关键字:android碎片化android面世以来,google开源了android系统,各家厂商各自为政,导致屏幕尺寸没有统一标准,屏幕的...

2020-02-25 17:21:38 347

转载 Android“新技术” 又来了?

此“新技术”主要指大厂近期对外的分享,「大厂的对外分享系列」更新一篇,第 11 期了。前几期入口:走心推荐几个优质项目 10目学不动了系列,又来推荐一波优质项目咯 9学不动了?扶你起来继续学 | 8本系列所有带下划线的链接都可以直接点击,其余需要手动复制到浏览器查看。1.一些中文独立博客分享目前随着移动端的兴起,早期的很多中文 PC 博客...

2020-02-24 15:23:32 1193

原创 Android性能优化案例(3)内存抖动和泄漏的优化

前言这个系列的文章:1、用通俗易懂的讲解方式,讲解一门技术的实用价值2、详细书写源码的追踪,源码截图,绘制类的结构图,尽量详细地解释原理的探索过程3、提供Github 的 可运行的Demo工程,但是我所提供代码,更多是提供思路,抛砖引玉,请酌情cv4、集合整理原理探索过程中的一些坑,或者demo的运行过程中的注意事项5、用gif图,最直观地展示demo运行效果如果觉得细节太细,...

2020-02-24 15:16:33 318

原创 Android开发性能优化案例(2)app卡顿优化

前言性能优化这个系列的文章:1、用通俗易懂的讲解方式,讲解一门技术的实用价值2、详细书写源码的追踪,源码截图,绘制类的结构图,尽量详细地解释原理的探索过程3、提供Github 的 可运行的Demo工程,但是我所提供代码,更多是提供思路,抛砖引玉,请酌情cv4、集合整理原理探索过程中的一些坑,或者demo的运行过程中的注意事项5、用gif图,最直观地展示demo运行效果**如果觉...

2020-02-24 15:14:25 350

原创 Android性能优化案例(1)启动速度优化

前言这个性能优化系列的文章:1、用通俗易懂的讲解方式,讲解一门技术的实用价值2、详细书写源码的追踪,源码截图,绘制类的结构图,尽量详细地解释原理的探索过程3、提供Github 的 可运行的Demo工程,但是我所提供代码,更多是提供思路,抛砖引玉,请酌情cv4、集合整理原理探索过程中的一些坑,或者demo的运行过程中的注意事项5、用gif图,最直观地展示demo运行效果**如果...

2020-02-24 14:27:22 378

原创 Activity 的 36 大难点,你会几个?「建议收藏」

前言学Android有一段时间了,一直都只顾着学新的东西,最近发现很多平常用的少的东西竟让都忘了,趁着这两天,打算把有关Activity的内容以问题的形式梳理出来,也供大家查缺补漏。本文中,我将一改往日写博客的习惯,全文用 XMind 将所有知识点以思维导图的形式呈现,欢迎大家食用~~文章目录方便大家学习,我在 GitHub 上建立个 仓库 仓库内容与博客同步更...

2020-02-24 14:16:26 324

原创 利用Android Studio运行第一个flutter程序

所需工具Flutter SDK Android SDK Android Studio详细步骤先确保你已经安装好Android Studio且配置好安卓开发环境了。安装Flutter插件在android studio中,选择“Plugins”->"Broswer repositories"->输入搜索flutter,再点击安装即可新建一个Flutter...

2020-02-22 22:46:44 631 2

原创 Android 冷门知识点汇总:你知道哪些Android中的冷门知识?

四大组件相关:1.启动一个Activity,在应用进程至少需要两个Binder线程。2.启动一个launchMode为singleTask的Activity,它并不一定会运行在新的Activity栈中。3.两个不同应用的Activity,可以运行在同一个Activity栈中。4.同一个应用进程中的所有Activity,共享一个WindowSession。5.弹出一个Ale...

2020-02-22 22:45:24 188

原创 网易考拉Android客户端路由总线设计

1.前言当前,Android路由框架已经有很多了,如雨后春笋般出现,大概是因为去年提出了Android组件化的概念。当一个产品的业务规模上升到一定程度,或者是跨团队开发时,团队/模块间的合作问题就会暴露出来。如何保持团队间业务的往来?如何互不影响或干涉对方的开发进度?如何调用业务方的功能?组件化给上述问题提供了一个答案。组件化所要解决的核心问题是解耦,路由正是为了解决模块间的解耦而出现的。本文...

2020-02-20 22:57:24 270

原创 Android 开发应该掌握的 Proguard 技巧

Proguard介绍Proguard被人们熟知的是它的混淆功能,根据Proguard帮助文档的描述,Proguard可以对Java class 文件进行shrink,optimize,obfuscate和preveirfy。obfuscate(混淆)只是其中之一。简要的介绍下这四个功能:压缩(Shrink): 检测和删除没有使用的类,字段,方法和特性优化(Optimize): 分析和...

2020-02-19 22:10:36 218

原创 99年妹子开发的一个吊打百度网盘的开源神器

百度网盘大家都很熟悉,大家都知道百度网盘如果不开会员就会被限速,以为99年的在校女大学生iikira用Go撸了一个百度网盘客户端——BaiduPCS-Go。如今已经在Github上已经斩获了19.7K个星。BaiduPCS-Go是仿 Linux shell 文件处理命令的百度网盘命令行客户端,支持Windows、Mac、Linux、Android、iOS五大系统,具有以下特性:...

2020-02-19 21:16:04 793

原创 2020最新中高阶Android面试题总结 下(附解题思路)

写在前面这些面试题是我在去年换工作的时候整理,没有重点。包括java基础,数据结构,网络,Android相关等等。 适合3-5年工作经验,打算跳槽面试的中高级工程师。由于内容过多,将会分为上下两部分。完整版面试题和学习笔记整理在石墨文档可见;《Android架构视频+BAT面试专题PDF+学习笔记》面试题目都是穿插的,没有单独分出来。因为有些事外面试过程中遇到的,我就又加上去了。总...

2020-02-18 23:31:44 32837 1

原创 2020最新中高阶Android面试题总结 上(附解题思路)

写在前面这些面试题是我在去年换工作的时候整理,没有重点。包括java基础,数据结构,网络,Android相关等等。适合3-5年工作经验,打算跳槽面试的中高级工程师。由于内容过多,将会分为上下两部分。面试题目都是穿插的,没有单独分出来。因为有些事外面试过程中遇到的,我就又加上去了。总之你弄懂了这些,基本是没有问题了。如果是bat那些企业,你还得准备算法,jvm这些知识。好了,...

2020-02-18 23:07:18 7813

原创 Android开发之Activity的创建跳转及传值

写在前面;在Android系统的江湖中有四大组件:活动(Activity), 服务(Service), 广播接收器(Broadcast Reciver)和内容提供者(Content Provider)。今天所介绍的就是Android开发中的四大组件之一:Activity,其他那三大组件以后再进行介绍。说道Android中的Activity,如果你做过iOS开发的话,Activity类似于iO...

2020-02-18 17:28:26 558

原创 浅谈Android组件化

一个关于组件化的念头项目经历了岁月的洗礼,经过公司业务上的变化,开发人员的来来往往,代码越来越臃肿和复杂难懂,这时候就必须进行拆分,否则就是一场灾难。就像我们公司的老项目一样,耦合度极高,已经停掉的业务,现在还在项目里面留存着,完全不敢删。新功能上线,因为要回归测试,测试时间有时候比开发时间还长。组件化这个词,我们应该在各个地方,通过各种渠道,看到过无数次,而且一般会给配上下面这张图,小机...

2020-02-18 17:12:51 205

原创 2020 年,Android 开发者需要的技能

一个 Android 技术专家,至少有 2~3 个专业领域。链接:https://www.techyourchance.com/android-developer-skills/作者:Vasiliy Zukanov,独立 Android 开发及软件顾问译者:罗昭成,Android 开发者许多 Android 开发者经常会问我,要学会哪些东西才能成为一个优秀的 Androi...

2020-02-15 21:09:58 504

原创 Kotlin 风险高、RxJava 已过时,Android 原生开发现状分析!

作者:Vasiliy Zukanov,独立 Android 开发及软件顾问链接:https://www.techyourchance.com/the-state-of-native-android-development-november-2019/译者:罗昭成,Android 开发者当你好不容易学会了某个框架或者工具,觉得它很好用的时候,它或许就要过时了。许多 Andro...

2020-02-15 20:41:03 656

原创 被面试官问的Android基础题难倒了?这里有31道面试题 ,牢固你的基础!

目录 1.如何对 Android 应用进行性能分析 2.什么情况下会导致内存泄露 3.如何避免 OOM 异常 4.Android 中如何捕获未捕获的异常 5.ANR 是什么?怎样避免和解决 ANR(重要) 6.Android 线程间通信有哪几种方式 7.Devik 进程,linux 进程,线程的区别 8.描述一下 an...

2020-02-15 20:38:19 4697

原创 20道25K+Android工程师面试必问面试题

25K大致算的上是Android开发的一个分水岭了。没点真正的东西,还真的拿不到25本文讲解:我们为什么要选择离职 面试必问面试题 如何选择心仪的公司一.我们为何选择离职工资跟不上消费 上班找不到归宿感和成绩感,上班感觉和坐牢一样 在公司没有发展空间二.25K+Android工程师必问面试题1.APK安装过程应用安装涉及到如下几个目录:system/app:系...

2020-02-14 22:48:04 569

原创 自定义View - 仿华为LoadingView4

介绍最近留意到华为手机预装的全家桶软件中,全都采用了统一的一个加载控件(如下图),觉得挺好看,然后就想着自己搞下。实现1、分析2、自定义属性 <declare-styleable name="HwLoadingView"> <!--控件大小--> <attr name="hlv_size"...

2020-02-14 22:32:09 382 1

原创 Android开发三年月薪12k,一年后斩获腾讯T3,谈谈我的心路历程!

新技术层出不穷,去年kotlin到如今Flutter,技术迭代,你是否会变得固步自封?那么看本篇文章帮你解决问题,让你知道怎么样学习,学习那些技术点才能不被时代的迭代快速淘汰!首先,先说一下百度丶腾讯丶阿里技术岗位的一般面试流程笔试(如果内推,一般可以免去笔试)2.电话面试(一轮,可能有电面可能没有)3.现场面试(3-4轮)第1轮:基础技术面试,面试内容包括:简历提问,计算机...

2020-02-14 18:04:39 242

原创 远程面试字节跳动Android开发岗,刚拿到offer,知识点分享

北京现在防控挺严格的,尤其外地的要返回特别麻烦。因为不方便出门,这次面试主要是电话,视频等方式进行。总结一波2020年最新面试题,希望对大家有所帮助!后面的答案为自行整理,如有疏漏,欢迎指正!目录:1.网络2.Java 基础&容器&同步&设计模式3.Java 虚拟机&内存结构&GC&类加载&四种引用&动态代理...

2020-02-13 22:36:02 834

原创 「珍藏」老司机为你推荐10个炫酷的开源库,看完的人都收藏了

写在前面;技术群里面经常有人问到一些炫酷的UI效果实现方法,有时候我都是给一个相同或者相似效果的Github链接,有同学私信给我说,大佬,怎么这些效果你都能找到?你是怎么搜索的,或者有其他什么秘方?会利用Google、百度等搜索工具搜索是一方面,另一个重要的方面是:记录搜藏,当看到一个炫酷的效果的时候,记得收藏起来,记录到自己云笔记或者收藏夹里,看得多了,印象就比较深刻,当遇到类似效果的时候,...

2020-02-13 14:39:39 518

原创 丧心病狂的Android混淆文件生成器

不多说,直接上效果!混淆前;混淆后;使用获取混淆文件自己生成规则使用intellij idea 打开proguard-creater工程 编辑 Main.java 根据提示填写相应参数运行即可使用已有规则前往proguard-file下载对应的文件即可Android工程配置开启混淆 buildTypes { ...

2020-02-13 14:34:09 288

原创 Gradle 提速:每天为你省下一杯喝咖啡的时间

作为一名 Android 开发同学,当你的工程和代码达到一定规模的时候,相信你一定遇到过编译速度过慢的问题。比如:等待编译的时间,仿佛过了一个世纪,有没有!对于程序猿,时间尤其宝贵,当你修改完一个 BUG 或者想验证一个功能时,却因为编译速度过慢而不得不打断你的思路,也会严重影响你的开发效率。正所谓,磨刀不误砍柴工,所以,减少和提升你工程的编译速度是一个值得立刻开始的重要工作...

2020-02-13 14:30:26 159

原创 十年资深Android架构师;Android高工成长路线「建议收藏」

写在前面;相对于Java这种较为成熟的行业,Android开发会混乱一些,甚至很多从事Android开发几年了都没有一个明确清晰的职业规划!因为对于很多初中级Android工程师而言,想要提升技能,往往是自己摸索成长。而不成体系的学习效果低效漫长且无助。时间久了,付出巨大的时间成本和努力,没有看到应有的效果,会气馁是再正常不过的所以学习一定要找到最适合自己的方式,不然不止浪费时间,...

2020-02-12 22:19:15 1205

原创 为什么Android开发只做UI层的尝试不管干多少年都没有前途?

入行前几年独立开发过几个产品,说一下自己的见解基本上有完整经历过一个产品的开发过程都应该清楚UI层是应用开发中最常变的一部分,app开发者绝大部分的时间都花在UI微调上,而业务逻辑基本上需求定下来不会变动太多,除非是产品迭代一些功能性的追加,不然就是不停的堆UI、堆UI,干过两年以上的开发者基本的开发能力已经有了,业务能力也差不多。这时候会遇到瓶颈,基本上就是找不到更加深入的方向...

2020-02-12 21:42:38 204

原创 一个资深的Android开发者需要掌握哪些技能?

写在前面“Android高级工程师需要掌握哪些技能?”“怎样才能成为Android高级工程师?”这些问题不只是刚刚从事Android开发不久的小伙伴才有疑问的,很多工作四五年的也同样会有这些疑问。(两三年没怎么升职加薪,技术也遇到瓶颈的开发者大有人在)作为好的安卓开发,首先明确Android是前端,重点是UI,做出稳定的应用是关键。很多人对Android属于一知半解的状态...

2020-02-12 21:24:26 1155

原创 源码分析;Retrofit处理HTTP请求主要流程

1. 概述Retrofit和OkHttp都来自于Square公司,而且都是在用来处理HTTP请求的,先来看下用OkHttp处理HTTP请求的实现:String url = "https://api.github.com/users/octocat/repos";OkHttpClient client = new OkHttpClient();Request request = ...

2020-02-11 20:22:35 571

原创 2020年大厂Android高级工程师面试题整理;Java+性能优化+APP开发+NDK+跨平台技术

写在前面;最近有很多同学在交流群里求大厂面试题。正好我电脑里面有这方面的整理,于是就发上来分享给大家。这些题目是网友去百度、小米、乐视、美团、58、猎豹、360、新浪、搜狐等一线互联网公司面试被问到的题目。熟悉本文中列出的知识点会大大增加通过前两轮技术面试的几率。主要分为以下几部分:(1)java面试题(2)Android面试题(3)高级开发技术面试题(4)跨平台Hyb...

2020-02-11 20:03:05 3597

原创 Gradle骚操作合集

写在前面;Gradle是谷歌钦定的android项目构建工具。熟练使用gradle可以实现很多骚操作,比如多渠道打包,指定打包文件路径和文件名等,而且实现方式不止一种。Gradle工具的编程语言叫做 Groovy, Groovy的语法相对宽松,有点类似javascript,怎么写的人都有,但是最终目标可能是一致的。本文收录一些Gradle骚操作供大家分享,经本人验证可行,会提供完整Dem...

2020-02-11 18:01:09 409

原创 Android开发性能优化干货;让你的APK瘦身88%

写在开头;随着业务复杂度的逐渐增加,代码、资源也在不断的增加,此时你的APP大小也在增加。从用户层面来说,面对动辄几十兆的APP来说在非WIFI情况下还是会犹豫要不要下载,不下载你就可能因此失去了一个用户。从公司层面来讲,流量就是钱,减少APP的大小就显得尤为重要。从开发者层面上来讲,你掌握了这个手艺也会略显逼格满满。废话不多说了,开始正题。1.APK结构的那些事知己知彼,方能百战...

2020-02-11 17:52:39 743

空空如也

空空如也

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

TA关注的人

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