RecyclerView 源码分析(一) —— 绘制流程解析

概述 对于 RecyclerView 是那么熟悉又那么陌生。熟悉是因为作为一名 Android 开发者,RecyclerView 是经常会在项目里面用到的,陌生是因为只是知道怎么用,但是却不知道 RecyclerView 的内部实现机制。 但凡是一位有所追求的开发者,都不会只让自己停留在只会使用上, ... »

Android事件分发机制一:事件是如何到达activity的?

事件分发,真的一定从Activity开始吗? 前言 很高兴遇见你~ 事件分发,android中一个老生常谈的话题了。基本的流程我们也都知道是从Activity开始分发,但有一个关键问题是:事件是如何到达Activity的 ? 你以为我接下来要开始讲源码、系统底层了?不不不,本文不讲这些,而是着重于a ... »

最新整理:阿里、腾讯、字节、华为、百度等大厂Android岗面经分享!

缘起 很多人挤破脑袋,破釜沉舟的想进大厂的根本原因还是大厂和小公司真的不一样。我是双非本科15年毕业的,毕业之后就一直在做Android相关方面的开发工作,到18年经历了两家创业公司,一家工作了不到半年老板就跑路了,一家工作到18年初,因为运营不当倒闭了(一度怀疑自己是不是去哪家公司就得哪家倒闭)。 ... »

App控件定位

本文将分享Android相关基础知识和Android APP控件定位工具的使用方法。 Android基础知识 Android布局 Android是通过容器的布局属性来管理子控件的位置关系(iOS去掉了布局的概念,直接用变量之间的相对关系完成位置的计算),把界面上所有的控件根据他们的间距的大小,摆放在 ... »

Fresco 源码分析 —— 整体架构

Fresco 是一个强大的图片加载组件。由于 Fresco 源码比较多,仅凭一篇文章是无法将其说清楚的,因此会当做一个系列,本文是框架结构介绍,不会深入细节,但是会让你对 Fresco 的整个图片加载流程有个基本的认识。这样以后碰到 Fresco 你也不会望文生畏。 ... »

【算法总结】30道题搞定大厂算法面试-二叉树

前言 前段时间,写了面试必备的一系列文章,反应还不错。有一些读者反馈说,能不能整理一些面试常见的算法。前段时间,我恰好总结了 LeetCode 常见的面试算法题目。 Android 面试必备 - http 与 https 协议 Android 面试必备 - 计算机网络基本知识(TCP,UDP,Htt ... »

MobPush厂商通道排查

开启log 一、添加开启log代码 有AndroidManifest.xml的 //在AndroidManifest.xml的application标签中添加 <meta-data android:name="com.mob.mobpush.debugLevel" android:value="4" ... »

5.装饰模式 Decorator (单一职责)

结合:Android设计模式 006 装饰者模式 【B站】对整个重构的细节讲的容易懂Android的设计模式-装饰者模式 【简书】结合安卓源码讲的还可以,让我对context有更深入的理解1.模式定义 动态(组合)地给一个对象增加一些额外的职责。就增加功能而言,Decorator模式比生成子类(继承 ... »

Android 7.0应用之间共享文件

原文首发于微信公众号:躬行之,欢迎关注交流! 开发中经常需要将某个文件向另一个应用程序传递,如图片上传到另一个应用程序、文件在不同存储路径之间的复制粘贴等都需要共享文件,可以这样理解接收文件的应用是在向提供文件的应用发送请求。 从 Android 7.0 开始,Android 执行 StrictMo ... »

【有奖众测】给HMS Core文档提建议,赢大奖华为Watch!

为了提升HMS Core开发者的文档体验,提升开发效率,邀请所有开发者体验HMS Core文档,并贡献您的建议。 无论是文档让您困惑的地方,还是您发现的问题,或者您觉得可以做的更好的地方,都可以尽情的反馈。 只需要在下方回帖反馈,任何高价值的建议都会赢得奖品。 反馈的问题越多,价值越高,奖品就越好。 ... »

安卓快速关机APP

自说自话 像我这样每天晚上睡觉关机的人不知道有多少,反正我每天都有关机的需求。因此我特别讨厌长按关机键进行关机,感觉浪费我好几秒的生命。 因此我开发了这款APP,主要是自用,有需求的人可以下载玩玩。 查看源码:【Github】,【Gitee】。【下载地址】 使用方法 安装后点开会跳转到无障碍那里,需 ... »

教你如何 分析 Android ANR 问题

ANR介绍 ANR 的全称是 Application No Responding,即应用程序无响应,具体是一些特定的 Message (Key Dispatch、Broadcast、Service) 在应用的UI线程(主线程)没有在规定的时间内处理完,进而触发 ANR 异常。 ANR 由消息处理机制 ... »

阿里P8大佬熬夜10天,把所有Android第三方库整理成了PDF

缘起 随着互联网企业的不断发展,产品项目中的模块越来越多,用户体验要求也越来越高,想实现小步快跑、快速迭代的目的越来越难,还有应用之间的互相调用等等问题,插件化技术应用而生。如果没有插件化技术,美团、淘宝这些集成了大量“app”的应用,可能会有几个g那么大。 所以,当今的Android移动开发,不会 ... »

Android Choreographer 源码分析

Choreographer 的作用主要是配合 Vsync ,给上层 App 的渲染提供一个稳定的 Message 处理的时机,也就是 Vsync 到来的时候 ,系统通过对 Vsync 信号周期的调整,来控制每一帧绘制操作的时机。目前大部分手机都是 60Hz 的刷新率,也就是 16.6ms 刷新一次, ... »

三年工作经验,从小厂离职后,我凭什么拿到了阿里的offer

本篇文章主要记录分享我的面试准备过程。 很多朋友问我为什么离职 关于离职原因,马云有一句经典的话“要么钱没给到位,要么心委屈了”,想必大家耳熟能详了,我这里再细说一下我个人离职原因: 工资倒挂,涨薪不如意 在之前的小厂薪资倒挂现象严重,新入职的员工工资明显高过老员工,企业宁愿高薪招聘一位新员工,也不 ... »

Android 教你如何发现 APP 卡顿

最近部门打算优化下 APP 在低端机上的卡顿情况,既然想优化,就必须获取卡顿情况,那么如何获取卡顿情况就是本文目的。 一般主线程过多的 UI 绘制、大量的 IO 操作或是大量的计算操作占用 CPU,导致 App 界面卡顿。只要我们能在发生卡顿的时候,捕捉到主线程的堆栈信息和系统的资源使用信息,即可准 ... »

2020年Android开发最新整理阿里巴巴、字节跳动、小米面经,你不看看吗?

前言 2020年是转折的一年,上半年疫情原因,很多学android开发的小伙伴失业了,虽找到了一份工作,但高不成低不就,下半年金九银十有想法更换一份工作,很多需要大厂面试经验和大厂面试真题的小伙伴,想提前准备刷下题。接下来分享一份我的字节跳动、阿里巴巴、百度、小米等大厂面试经验和总结。(文末附真题解 ... »

自动批量修改文件名

需求 ​ 作为一个android开发,经常需要将UI的切图导入项目中,但是UI切图文件通常是中文命名,而在android项目中,drawable文件名是不能用中文字符的,并且英文不能有大写字母,空格,并且为了可读性性,我们需要在单词间用“_”隔开,所以我们需要将切图文件名翻译为我们需要的样式 实现 ... »

5年Android程序员面试字节跳动两轮后被完虐,请查收给你的面试指南

大家应该看过很多分享面试成功的经验,但根据幸存者偏差的理论,也许多看看别人面试失败在哪里,对自己才更有帮助。 最近跟一个朋友聊天,他准备了几个月,刚刚参加完字节跳动面试,第二面结束后,嗯,挂了… 所以啊,不管怎么样,不论是什么样的大小面试,要想不被面试官虐的不要不要的,只有刷爆面试题题做好全面的准备 ... »