当你的才华还撑不起你的梦想时,你只能一直前进!
摘要: 字节跳动内推请添加微信:nanchen2251 字节跳动某上升期教育产品,跪求移动端开发工程师,跪求移动端开发工程,岗位 HC 巨多。感兴趣的快点链接进行投递吧~:https://job.toutiao.com/s/XdQ9mm 基本要求:(必须)1. 全日制本科及以上学历;2. 半年内没通过其他渠 阅读全文
posted @ 2017-04-25 18:05 南尘 阅读(1229) 评论(0) 推荐(2) 编辑
摘要: 前言 虽然我们项目的代码时间并不长,也没经过太多人手,但代码的规范性依然堪忧,目前存在较多的比较自由的「代码规范」,这非常不利于项目的维护,代码可读性也不够高, 此外,客户端和后端的研发模式也完全不同,后端研发基本都是基于 SOA 思想的,通常一个子系统 3 个人一起维护就已经是很充分的人力了,更多 阅读全文
posted @ 2021-01-24 17:40 南尘 阅读(2250) 评论(0) 推荐(1) 编辑
摘要: 什么是责任链模式? 生活中的责任链 责任链模式在生活中体现比比皆是。 程序员找女朋友很难,好不容易找到一个心仪的对象后准备结婚,却发现还有几个流程才能正式成为合法夫妻。先带上 10 箱茅台飞天把老丈人陪好,老丈人同意了。但有些家庭老丈母才是家庭地位最高的人,所以老丈人决定不了,老丈母在检查一下车房都 阅读全文
posted @ 2021-01-12 17:48 南尘 阅读(450) 评论(0) 推荐(0) 编辑
摘要: 什么是策略模式? 生活中的策略 策略模式在生活中体现很多。 我们要去旅游,我们可以选择不同的出行方式:飞机,火车,大巴,自驾等,这是不同的策略。 双十一当当网购买满减活动,满 100 减 50,满 200 减 100,满 400 减 250 等,这也是不同的策略。 抑或是我们在追求女生时,针对不同性 阅读全文
posted @ 2021-01-12 17:46 南尘 阅读(424) 评论(0) 推荐(0) 编辑
摘要: 引子 最近一直在思考,作为一名软件开发工程师,到底应该如何实现自我成长,是否有捷径而言?其实断断续续有过很多思考,也有和各种年龄段的同学们做过不少交流,结合自身的经历,有一些感悟和思考。本文可能可以适用到其他端,不过由于自己是一名 Android 开发工程师,所以就姑且从一名普通的 Android 阅读全文
posted @ 2021-01-04 12:14 南尘 阅读(964) 评论(2) 推荐(3) 编辑
摘要: 引子 相信总是有很多同学,总是在抱怨泛型无论怎么学习,都只是停留在一个简单使用的水平,所以一直为此而备受苦恼。 Kotlin 作为一门能和 Java 相互调用的语言,自然也支持泛型,不过 Kotlin 的新关键字 in 和 out 却总能绕晕一部分人,归根结底,还是因为 Java 的泛型基本功没有足 阅读全文
posted @ 2020-12-29 20:52 南尘 阅读(1825) 评论(1) 推荐(1) 编辑
摘要: 坚持原创日更,短平快的 Android 进阶系列,敬请直接在微信公众号搜索:nanchen,直接关注并设为星标,精彩不容错过。 我 17 年的 "面试系列" ,曾写过一篇名为: "Android 面试(五):探索 Android 的 Handler" 的文章,主要讲述的是 的原理相关面试题,然后简单 阅读全文
posted @ 2019-07-23 20:06 南尘 阅读(544) 评论(0) 推荐(1) 编辑
摘要: 坚持原创日更,短平快的 Android 进阶系列,敬请直接在微信公众号搜索:nanchen,直接关注并设为星标,精彩不容错过。 一般我们被问到这样的问题,通常来说,答案都是否定的,但一定得知道其中的原因,不然回答肯定与否又有什么意义呢。 首先,显而易见这个问题有不少陷阱,比如这个 View 是自己构 阅读全文
posted @ 2019-07-18 10:05 南尘 阅读(1483) 评论(0) 推荐(2) 编辑
摘要: 坚持原创日更,短平快的 Android 进阶系列,敬请直接在微信公众号搜索:nanchen,直接关注并设为星标,精彩不容错过。 在 Android 开发中,滑动冲突总是我们一个无法避免的话题。而对于解决方案却是众说纷纭。比如 嵌套 ,直接通过相关方法禁掉内部 的滑动; 嵌套 直接把 替换为 等等。但 阅读全文
posted @ 2019-07-16 20:42 南尘 阅读(952) 评论(0) 推荐(1) 编辑
摘要: `SharedPreferences` 应该是任何一名 Android 初学者都知道的存储类了,它轻量,适合用于保存软件配置等参数。以键值对的 XML 文件形式存储在本地,程序卸载后也会一并清除,不会残留信息。 使用起来也非常简单。 当我们写下这样的代码的时候,IDE 极易出现一个警告,提示我们用 阅读全文
posted @ 2019-07-08 18:40 南尘 阅读(2286) 评论(1) 推荐(1) 编辑
摘要: 基本上所有 Android 开发都会接触到 、`onDestory() onStart() onStop() onAttachXXX()` 这样的方法群体,今天,笔者就希望用简短的文章对此进行一定讲解。 Activity 中的 onAttachedToWindow 首先在 中我们可以重写 和 这一对 阅读全文
posted @ 2019-06-27 21:51 南尘 阅读(9253) 评论(1) 推荐(2) 编辑
摘要: 在 Android 开发中,我们难免会使用动画来处理各种各样的动画效果,以满足 UI 的高逼格设计。对于比较复杂的动画效果,我们通常会采用著名的开源库: "lottie android" ,或许你会对 lottie 的原理充满好奇,但这并不在我们这篇文章的讨论范围,感兴趣的自行 Google 吧~ 阅读全文
posted @ 2019-06-26 21:26 南尘 阅读(1963) 评论(0) 推荐(0) 编辑
摘要: Android 从 4.0 开始就提供了手机录屏方法,但是需要 root 权限,比较麻烦不容易实现。但是从 5.0 开始,系统提供给了 App 录制屏幕的一系列方法,不需要 root 权限,只需要用户授权即可录屏,相对来说较为简单。 基本上根据 "官方文档" 便可以写出录屏的相关代码。 屏幕录制的基 阅读全文
posted @ 2019-06-25 21:11 南尘 阅读(1199) 评论(1) 推荐(4) 编辑
摘要: 我们项目采用的是 kotlin && DataBinding 处理的,可能你会疑问,既然用的是 kotlin,为啥没有用 kotlinx?新的页面当然是用的 kotlinx 啦,但我们有相当庞大的历史代码,并且我们的通用 adapter 其实也是基于 DataBinding 来封装的。所以,我们还是 阅读全文
posted @ 2019-06-24 19:02 南尘 阅读(1250) 评论(0) 推荐(0) 编辑
摘要: 这是 "wanAndroid" 每日一问中的一道题,下面我们来尝试解答一下。 讲讲并发专题 volatile,synchronize,CAS,happens before, lost wake up 为了本系列的「短平快」,今天我们就来第一个主角: 。 保证内存可见性 前面我们讲到:Java 内存模 阅读全文
posted @ 2019-06-20 20:46 南尘 阅读(1867) 评论(0) 推荐(1) 编辑
摘要: 详细说一下 MeasureSpec.UNSPECIFIED "前面的文章" 我留下了一个疑惑,那就是到底为什么 要把子 View 的测量模式强行设置为 ,这不,在鸿洋的 "wanAndroid" 中,他再次提出了这样的问题: MesureSpec.UNSPECIFIED 1. 这个模式什么时候会遇到 阅读全文
posted @ 2019-06-19 23:30 南尘 阅读(3853) 评论(0) 推荐(1) 编辑
摘要: 前面给大家讲解了 "Java 虚拟的内存结构" 以及 "Java 虚拟机的垃圾回收机制" ,我们更加明白了 Java 的内存管理机制,今天我们来讲讲 Java 虚拟机的另外一个高频考点:类加载机制。 JVM 的类加载过程分为加载、验证、准备、解析、初始化 5 个阶段。 加载 加载阶段由类加载器进行负 阅读全文
posted @ 2019-06-17 21:13 南尘 阅读(545) 评论(0) 推荐(2) 编辑
摘要: 昨天我们用比较精简的文字讲了 Java 虚拟机结构,没看过的可以直接从这里查看: "每日一问:你了解 Java 虚拟机结构么?" 今天我们必须来看看 Java 虚拟机的垃圾回收算法是怎样的。不过在开始之前,我们一定得确定哪些是活着的对象,又有哪些是可以进行回收的。 判断对象是否存活方式 引用计数算法 阅读全文
posted @ 2019-06-13 21:18 南尘 阅读(541) 评论(1) 推荐(0) 编辑
摘要: 对于从事 C/C++ 程序员开发的小伙伴来说,在内存管理领域非常头疼,因为他们总是需要对每一个 操作去写配对的 代码。而对于我们 Android 乃至 Java 程序员,却总是会因为虚拟机的自动内存管理机制而忽视内存管理的重要性。 经过前面简短的几篇纯 Android 问题,我想再给大家掺杂一点可能 阅读全文
posted @ 2019-06-13 09:17 南尘 阅读(577) 评论(0) 推荐(1) 编辑
摘要: 前面的文章中着重讲解了 View 的测量流程。其中我提到了一句非常重要的话: View 的测量匡高是由父控件的 和 View 自身的 `LayoutParams 共同决定的。 我们在前面的 "每日一问:谈谈对 MeasureSpec 的理解" 把 MeasureSpec 的重点进行了讲解,其实另外一 阅读全文
posted @ 2019-06-12 20:45 南尘 阅读(1544) 评论(0) 推荐(0) 编辑
摘要: Android 开发中经常需要用一些自定义 View 去满足产品和设计的脑洞,所以 View 的绘制流程至关重要。网上目前有非常多这方面的资料,但最好的方式还是直接跟着源码进行解读,每日一问系列一直追求短平快,所以本文笔者尽量精简。 想必大多数 Android 开发都知道自定义 View 需要关注的 阅读全文
posted @ 2019-06-11 21:49 南尘 阅读(783) 评论(0) 推荐(1) 编辑
摘要: 作为一名 Android 开发,正常情况下对 View 的绘制机制基本还是耳熟能详的,尤其对于经常需要自定义 View 实现一些特殊效果的同学。 网上也出现了大量的 Blog 讲 View 的 、`onLayout() onDraw()` 等,虽然这是一个每个 Android 开发都应该知晓的东西, 阅读全文
posted @ 2019-06-10 21:38 南尘 阅读(1648) 评论(0) 推荐(1) 编辑
摘要: 昨天的问题说到了关于 "内存泄漏需要注意的点" ,在文章最后有说到 "LeakCanary" 检测内存泄漏。实际上,我相信绝大多数人也知道甚至使用过这个库。 这个系列通常来说如果发现了不错的资源,会选择直接截取部分拿过来,所以对于文章底部的参考链接一般都是非常不错的,可以直接去看哟~ LeakCan 阅读全文
posted @ 2019-06-06 16:57 南尘 阅读(1220) 评论(0) 推荐(1) 编辑
摘要: 内存泄漏对每一位 Android 开发一定是司空见惯,大家或多或少都肯定有些许接触。大家都知道,每一个手机都有一定的承载上限,多处的内存泄漏堆积一定会堆积如山,最终出现内存爆炸 OOM。 而这,也是极有可能在 Android 面试中一道常见的开放题。 内存泄漏的根本原因是 一个长生命周期的对象持有了 阅读全文
posted @ 2019-06-05 17:43 南尘 阅读(588) 评论(0) 推荐(2) 编辑
摘要: 最近公司的项目升级到了 9.x,随之而来的就是一大波的更新,其中有个比较明显的改变就是很多板块都出了一个带标签的设计图,如下: 怎么实现 看到这个,大多数小伙伴都能想到这就是一个简单的图文混排,不由得会想到鸿洋大佬的图文并排控件 "MixtureTextView" ,或者自己写一个也不麻烦,只需要利 阅读全文
posted @ 2019-05-21 21:23 南尘 阅读(2344) 评论(14) 推荐(0) 编辑
摘要: 南尘的 2018,阅读本文大约需要一整年 嗨,陌生人,你是我的朋友吗?我是南尘,还是那个在网上习惯加个 2251 后缀的南尘。 你最近过的怎么样呀?应该还好吧。有没有好好工作,好好学习,好好生活呀? 距离南尘的上一篇原创,好像得有俩月了吧,好像,在 2018 年,南尘就一直在玩消失。 刚刚看了下 " 阅读全文
posted @ 2019-01-16 14:29 南尘 阅读(1218) 评论(3) 推荐(3) 编辑

写不完的矫情,做不完的开源

点击进入我的GitHub页
南 尘
主 页
优美钢琴曲合集-南尘.mp3                    感谢您阅读我的博客,如果您现在工作、学习累了或者疲惫了,不妨聆听一下音乐,它能够减轻你的疲劳,还能够带给您一种舒适愉悦的心情。(样式取自博客园-欲泪成雪)