- 博客(47)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 2019年移动开发,我的求变之路
人和人的差距,是下班后的 4 小时拉开的。读者们,早上好,我是 wingjay。上一篇文章里,我提到了要如何去找到属于自己的技术方向,不要成为追涨杀跌的“散户程序员”,而要坚持“价值投资”,相信移动端背后的价值和潜力,长期持有,保持成长。今天这篇文章,我会分享下从我个人角度出发,是准备如何规划2019年的技术方向,供读者参考。本期福利:本人收集了一些2019年移动技术方向学...
2019-04-04 11:39:27
1034
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 移动开发的罗曼蒂克消亡史?不存在的。
读者们,早上好,我是 wingjay。上次发布了《Android 技术的下半场》后,很多读者反馈对这一观点的认同。文中提到,移动开发并没有变凉,更没有很多人唱衰的“罗曼蒂克消亡史”那么惨烈,它只是和互联网行业一样,泡沫逐步散去,开始进入了理性的下半场。这里我想和读者分享一下,在移动技术的下半场,我们要如何去找寻自己的技术方向,如何培养自己的差异化个人竞争力。先看几...
2019-04-03 12:03:05
10100
1
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Android 技术的下半场
越来越多的人在提“移动端的下半场”、“Android开发的焦虑”之类的,也有人在喊“技术天天在变,学也学不完”,“昨天Kotlin今天Flutter”。其实我却认为,如果你技术达到了一定程度,你无需太过在意这些。移动端真正进入下半场了吗?于我看来并没有,最多说“Android技术的探索”进入了下半场,而整个市场还是乐观的。以前是BAT的天下,而近两年出来越来越多的独角兽:头条、抖音、拼多多、快手、小猿搜题等,这些公司的业务都在移动端上,他们需要招聘更多的移动端人才。如果真要说下半场,只能说很多小型创业公
2019-03-17 22:24:12
310
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 技术生涯里,大厂履历意味着什么?
最近几天,有几个朋友想要投递大厂,于是找我帮忙 Review 简历。所以我顺便问了下他们,为什么想要投递大厂,反馈的大概出发点是:**追求高薪资**相对小厂而言,大厂的薪资水平会更高不少。具体数字区间就不细说了,但是大厂整体会大方很多,只要你能够通过面试,30%甚至更高的涨薪都有机会拿到,更何况,大厂的年终奖也不会被“无良”老板随意克扣。**追求稳定**去年整体大环境不行,很多公司裁员,尤其是不太盈利的中小厂,比如某团、某滴。而对于大厂而言,裁员的概率会小很多,毕竟裁员带来的收益远比
2019-03-17 20:58:15
1258
原创 进击的马云,失落的码农
上一次见到马爸爸还是在参加阿里巴巴18周年年会时,那天在黄龙体育场,马爸爸像一个大家长一样,和底下的6万名员工唠嗑、谈心。而昨天在阿里内外直播里,马爸爸和大家谈了谈最近热议的996,结果引发了更加多的争议。之前对于996我都没有发声,很简单,在我看来,这件事情是讨论不出结果的。毕竟,这是一场资本家和劳动者之间永恒无解的辩论。就像男女朋友为了某个问题吵架,...
2019-04-13 12:46:05
351
转载 动态化技术如果不知道它,你就白学了!
关注公众号:wingjay第 17 篇人和人的差距,是下班后的4小时拉开的。读者朋友,你好,我是wingjay。之前的文章《2019年移动开发,我的求变之路》里,我提到动态化方向是2019年移动领域一个重要的方向,也是本公众号着重关注的技术点之一。而目前来看,动态化领域的一大主流技术就是基于JavaScript与Native进行通信,借助...
2019-04-11 09:28:26
3220
原创 从阿里跳头条,值得吗?
读者们,早上好,我是 wingjay。这两天一位供职于阿里的朋友跑来咨询我一个关于跳槽的问题,具体是这样的:朋友目前在阿里工作两年时间,刚拿到头条的 Offer,但非常纠结是否要接,所以来咨询下我的意见。而正好最近不少我的小专栏读者群里的读者也在参加面试,所以分享下我对于如何选择 Offer、选择个人成长还是薪资等问题的看法。从阿里平薪跳头条?听朋友说完,我当时想,目前本就金三...
2019-03-31 15:54:00
360
原创 Java程序员必看系列之注解
注解这种语法本身很有意思,当前很多流行库如 Dagger、ButterKnife等都是基于注解这种语法。熟练使用注解,既能让你的代码变得简洁易读,动态运行时执行你想要的操作,还能帮你生成代码,省去重复代码写作。本文涉及知识点:注解的生命周期,代码编辑时注解,编译时注解代码生成,运行时注解动态反射。注解的生命周期与修饰对象对于 Java 代码从编写到运行有三个时期:代码编辑;编译成 .c...
2019-03-31 11:47:31
415
转载 Flutter 实现原理及跨平台实践
一直以来,跨平台开发都是困扰移动客户端开发的难题。在马蜂窝旅游 App 很多业务场景里,我们尝试过一些主流的跨平台开发解决方案, 比如WebView 和 React Native,来提升开发效率和用户体验。但这两种方式也带来了新的问题。比如使用 WebView 跨平台方式,优点确实非常明显。基于 WebView 的框架集成了当下 Web 开发的诸多优势:丰富的控件库、动态化、良好的技术社区、测...
2019-03-25 09:23:32
6504
1
原创 30条Android开发建议
本文主要用来收集Android开发中积累的一些宝贵经验,这些经验中有一些约定熟成且经过检验的建议,有一些结合最新技术的实践。无论是菜鸟还是大神,都应该学会阅读别人的经验,并结合自己的思考转化成对自己有用的知识,这才是最快的成长之路。另外,对于这些建议,我会尽量翔实的进行说明以确保能够顺利快速应用到实际开发中。
2019-03-19 13:02:16
314
原创 从阿里平薪跳头条,值得吗?
这两天一位供职于阿里的朋友跑来咨询我一个关于跳槽的问题,具体是这样的:朋友目前在阿里工作两年时间,刚拿到头条的 Offer,但非常纠结是否要接,所以来咨询下我的意见。
2019-03-19 11:28:32
636
原创 带你学开源项目:Meizhi Android之RxJava & Retrofit最佳实践
本次的开源项目选择了Meizhi Android,本文主要介绍该项目中采用的RxJava、Retrofit两种技术,这二者在Android开发者中非常流行,不仅能够优美地处理异步回调,而且能提高代码的性能和稳定性。而Meizhi Android中较好的覆盖了二者的多种应用场景,能够给多数开发者一个全面的学习。
2019-03-17 22:39:47
245
原创 带你学开源项目:RxLifecycle-当Activity被destory时自动暂停网络请求
RxLifecycle 是为了防止`RxJava`中`subscription`导致内存泄漏而诞生的,核心思想是通过监听`Activity`、`Fragment`的生命周期,来自动断开`subscription`以防止内存泄漏。
2019-03-17 22:38:30
482
原创 带你学开源项目:OkHttp--自己动手实现OkHttp
在Android、Java开发领域中,相信大家都听过或者在使用Square家大名鼎鼎的网络请求库: OkHttp https://github.com/square/okhttp ,当前多数著名的开源项目如 Fresco、Glide、 Picasso都在使用
2019-03-17 22:36:48
489
原创 带你学开源项目:LeakCanary-如何检测 Activity 是否泄漏
OOM 是 Android 开发中常见的问题,而内存泄漏往往是罪魁祸首。为了简单方便的检测内存泄漏,Square 开源了 [`LeakCanary`](https://github.com/square/leakcanary),它可以实时监测 Activity 是否发生了泄漏,一旦发现就会自动弹出提示及相关的泄漏信息供分析。本文的目的是试图通过分析 `LeakCanary` 源码来探讨它的 Activity 泄漏检测机制。
2019-03-17 22:34:20
232
原创 让普通 Java 类自动感知 Activity Lifecycle
在 Android 开发中,我们都很熟悉 Activity 的 Lifecycle,并且会在特定的 Lifecycle 下执行特定的操作。当然,我们清楚 Lifecycle 本身是带有 Android 特质的,那尝试设想下,如果`普通的 Java Class 也能自动感知 Lifecycle 呢`?咋一听这个想法似乎背后意义不大,但在实际探索中,我们发现这个特性能为我们达成一些之前未考虑到或者不易实现的优化。
2019-03-17 22:29:19
266
原创 Android架构之长连接技术
版权声明:本文原创发布于公众号 wingjay,转载请务必注明出处! https://blog.csdn.net/lanxian837820149/article/details/88626599上一篇文章《Android 架构之网络框架(上)》中,我们谈过了网络框架OkHttp、网络加速方案如HttpDNS、数据压缩与序列化等技术点。本文我们结合腾讯Mars框架和美团Shark体系等业内主...
2019-03-17 22:20:46
1129
原创 Android架构之高可用移动网络连接
读者好,前面我们在《Android 架构之网络连接与加速》和《Android 架构之长连接技术》两篇文章中,讲解了Http短连接、TCP长连接、连接复用与速度优化、数据压缩等方面的知识点。不过,真实的网络环境是很复杂的,存在各种各样的因素会导致网络服务不可用,比如DNS劫持、服务器宕机、弱网等。换言之,如果服务都不可用,那上面这些优化也就没有意义了。因此,本文主要谈一下在真实的网络环境下,存在哪些常见的网络不可用原因,以及大多数公司是如何解决并兜底,从而达到`高可用连接`这个目标的。
2019-03-17 22:16:48
588
1
原创 Android架构之长连接技术
《亿级Android架构》小专栏文章列表:《亿级 Android 架构》专栏随谈》《Android 架构之网络连接与加速》《Android 架构之长连接技术》《Android 架构之高可用移动网络连接》《Android 架构之网络安全演进》《Android 架构之高性能移动端日志系统》正文上一篇文章《Android 架构之网络框架(上)》中,我们谈...
2018-12-05 19:33:59
1181
原创 Android 技术的下半场
本文首发于小专栏《《亿级 Android 架构》专栏随谈》,更多Android架构文章欢迎关注《亿级Android架构》移动端的下半场?越来越多的人在提“移动端的下半场”、“Android开发的焦虑”之类的,也有人在喊“技术天天在变,学也学不完”,“昨天Kotlin今天Flutter”。其实我却认为,如果你技术达到了一定程度,你无需太过在意这些。移动端真正进入下半场了吗?...
2018-11-26 15:08:50
210
原创 让普通 Java 类自动感知 Activity Lifecycle
《亿级 Android 架构》 地址:https://xiaozhuanlan.com/AndroidArch背景在 Android 开发中,我们都很熟悉 Activity 的 Lifecycle,并且会在特定的 Lifecycle 下执行特定的操作。当然,我们清楚 Lifecycle 本身是带有 Android 特质的,那尝试设想下,如果普通的 Java Class 也能...
2017-11-08 20:58:50
158
原创 Java 技术之垃圾回收机制
垃圾回收机制是 Java 非常重要的特性之一,也是面试题的常客。它让开发者无需关注空间的创建和释放,而是以守护进程的形式在后台自动回收垃圾。这样做不仅提高了开发效率,更改善了内存的使用状况。今天本文来对垃圾回收机制进行讲解,主要涉及下面几个问题:什么是堆内存?什么是垃圾?有哪些方法回收这些垃圾?什么是分代回收机制?什么是 Java 堆内存堆是在 JVM 启动时...
2017-06-02 11:27:12
81
原创 带你学开源项目:LeakCanary-如何检测 Activity 是否泄漏
版权声明:本文原创发布于公众号 wingjay,转载请务必注明出处! https://www.jianshu.com/p/87f2ba180066OOM 是 Android 开发中常见的问题,而内存泄漏往往是罪魁祸首。为了简单方便的检测内存泄漏,Square 开源了 LeakCanary,它可以实时监测 Activity 是否发生了泄漏,一旦发现就会自动弹出提示及相关...
2017-05-16 09:29:03
203
原创 Java 技术之类加载机制
类加载机制是 Java 语言的一大亮点,使得 Java 类可以被动态加载到 Java 虚拟机中。这次我们抛开术语和概念,从例子入手,由浅入深地讲解 Java 的类加载机制。本文涉及知识点:双亲委托机制、BootstrapClassLoader、ExtClassLoader、AppClassLoader、自定义网络类加载器等文章涉及代码:https://github.com...
2017-05-09 09:28:44
85
原创 Java技术之注解 Annotation
注解这种语法本身很有意思,当前很多流行库如 Dagger、ButterKnife等都是基于注解这种语法。熟练使用注解,既能让你的代码变得简洁易读,动态运行时执行你想要的操作,还能帮你生成代码,省去重复代码写作。本文涉及知识点:注解的生命周期,代码编辑时注解,编译时注解代码生成,运行时注解动态反射。注解的生命周期与修饰对象对于 Java 代码从编写到运行有三个时期:代码编...
2017-05-04 08:44:34
196
原创 Java技术之反射 | wingjay
关于Java反射机制的文章很多,这次换种方式来讲解反射的作用。本文涉及到的知识点:class.getDeclaredXXX()、XXX.getModifiers()、method.getReturnType()、method.getParameterTypes()、method.isAnnotationPresent(XXX.class)、Modifier.isStatic(m...
2017-04-27 10:56:43
197
原创 Java里如何实现线程间通信? | wingjay
正常情况下,每个子线程完成各自的任务就可以结束了。不过有的时候,我们希望多个线程协同工作来完成某个任务,这时就涉及到了线程间通信了。本文涉及到的知识点:thread.join(), object.wait(), object.notify(), CountdownLatch, CyclicBarrier, FutureTask, Callable 等。本文涉及代码:https...
2017-04-15 14:49:29
271
1
原创 Java的equals与hashcode对比分析 | wingjay
最近在阅读《Effective Java》第3章里读到了关于 equals() 和 hashcode() 的一些介绍,这两个方法是很多Java程序员容易弄混的,因此本文针对这两个方法的用法和具体实现来做一些介绍。equals() 与 hashcode() 的用处?我们一般用equals()来比较两个对象的逻辑意义上的值是否相同。举个例子:class Person { ...
2017-03-29 23:01:16
126
原创 写给移动开发者的 React Native 指南
版权声明:本文原创发布于公众号 wingjay,转载请务必注明出处! https://www.jianshu.com/p/b88944250b25前言React Native 诞生于 2015 年,名副其实的富二代,主要使命是为父出征,与 Apple 和 Google 抗衡,为开发者带去一套跨平台、动态更新的 Javascript 框架,口号是:Lear...
2017-03-13 20:23:00
469
原创 我的第一款全栈side project
版权声明:本文原创发布于公众号 wingjay,转载请务必注明出处! https://www.jianshu.com/p/39dce598faf1我是wingjay,软件工程师,现居上海。这次来记录下自己独立全端开发的第一款side project——简诗 2.0——及其中的一些心路历程和踩坑经验。缘由一年前我花了一两天时间开发了一款自认为挺cool...
2016-11-28 14:04:16
197
原创 [干货] Glow Android 优化实践 | wingjay
版权声明:本文原创发布于公众号 wingjay,转载请务必注明出处! https://www.jianshu.com/p/a8b5278cdbcd了解 Glow 的朋友应该知道,我们主营四款 App,分别是 Eve、Glow、Nuture和Baby。作为创业公司,我们的四款 App 都处于高速开发中,平均每个 Android App 由两人负责开发,同时负责 Andro...
2016-11-02 18:26:53
199
原创 谈谈移动应用的安全性实践
《亿级 Android 架构》 地址:https://xiaozhuanlan.com/topic/1934527806本文首发在 Glow Tech Blog虽然没有完美的安全性,但我们所做的每一步都能加大被攻击的难度。本文将从用户注册流程出发,介绍下个人实践中在提高数据安全性方面采用的一些策略方法,供读者参考。下文将从 Android 和 服务端 两...
2016-08-30 22:46:10
139
原创 带你学开源项目:OkHttp--自己动手实现OkHttp | wingjay
版权声明:本文原创发布于公众号 wingjay,转载请务必注明出处! https://www.jianshu.com/p/27bf1057f5aa大幅提高自身技术实力最有效的途径之一就是学习世界级优秀开源项目的精髓,而本人的《带你学开源项目》系列文章将持续更新,对当前Android开发界最优秀的开源项目进行深入分析。一、开源项目 OkHttp在An...
2016-07-21 21:14:36
369
原创 带你学开源项目:RxLifecycle-当Activity被destory时自动暂停网络请求
版权声明:本文原创发布于公众号 wingjay,转载请务必注明出处! https://www.jianshu.com/p/62cc6d692af0大幅提高自身技术实力最有效的途径之一就是学习世界级优秀开源项目的精髓,而本人的《带你学开源项目》系列文章将持续更新,对当前Android开发界最优秀的开源项目进行深入分析一、 介绍本人的《带你学开源项目系列文章》采取的分析...
2016-07-14 22:29:35
209
原创 带你学开源项目:Meizhi Android之RxJava & Retrofit最佳实践
版权声明:本文原创发布于公众号 wingjay,转载请务必注明出处! https://www.jianshu.com/p/47e72693a302大幅提高自身技术实力最有效的途径之一就是学习世界级优秀开源项目的精髓,而本人的《带你学开源项目》系列文章将持续更新,对当前Android开发界最优秀的开源项目进行深入分析零、背景比起阅读枯燥的技术文档,独自苦苦摸索新技术的...
2016-04-13 00:15:07
128
原创 [干货]30条Android开发建议
版权声明:本文原创发布于公众号 wingjay,转载请务必注明出处! https://www.jianshu.com/p/717b80ba8bc1There are two kinds of people : those who learn the hard way and those who learn by taking someone’s advice. 当...
2016-03-15 22:58:02
143
原创 [干货]一种快速毛玻璃虚化效果实现--Android
版权声明:本文原创发布于公众号 wingjay,转载请务必注明出处! https://www.jianshu.com/p/7ae7dfe47a70在iOS设备上我们随处可见毛玻璃效果,而且最近越来越多的场合应用到了这种美观的虚化效果,包括本人的一个开源项目BlureImageView也是受此启发。所以,恰到好处的虚化效果能很好的改善用户体验,而且也能让你的...
2016-03-12 13:18:40
476
原创 [干货]如何在一天之内搭建以你自己名字为域名且具备cool属性的个人博客
版权声明:本文原创发布于公众号 wingjay,转载请务必注明出处! https://www.jianshu.com/p/99665608d295对程序员而言,最好的简历就是个人博客和GitHub零、个人博客每个优秀的程序员都会有个人独占的一方网络空间,那里是他个人的舞台,听说过他的人会逐渐汇聚进来,认识他,熟悉他,鼓励他,赞扬他。而对他个人而言,...
2015-12-08 01:07:28
213
原创 [干货]如何在一天之内完成一款具备cool属性的Android产品<简诗>
版权声明:本文原创发布于公众号 wingjay,转载请务必注明出处! https://www.jianshu.com/p/cf496fc408b2简诗2016/12/02 更新:新文章《我的第一款全栈side project》介绍了我在开发简诗 v2.0 中对Android端及服务端累积的一些经验。2016/11/09 更新:v2.0正式版下载...
2015-10-05 14:12:46
197
原创 Android之Handler内存泄漏分析及解决
版权声明:本文原创发布于公众号 wingjay,转载请务必注明出处! https://www.jianshu.com/p/cb9b4b71a820一、介绍首先,请浏览下面这段handler代码:public class SampleActivity extends Activity { private final Handler mLeakyHandler = ...
2015-06-02 10:16:35
188
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人