Carpe Diem

LeetCode First Problem

程序 = 算法+数据结构

编程语言虽然该学,但是学习计算机算法和理论更重要,因为计算机语言和开发平台日新月异,但万变不离其宗的是那些算法和理论,例如数据结构、算法、编译原理、计算机体系结构、关系型数据库原理等等。这些基础课程是“内功”,新的语言、技术、标准是“外功”。整天赶时髦的人最后只懂得招式,没有功力,是不可能成为高手的。

关于Andorid内存泄漏

OOM问题会经常困扰我们,尤其是维护一个用户数量基数大的app的时候,我们的bug统计数据前几位,基本上会被OOM问题给占据。通过结果反向分析问题,和在写代码的时候注意内存泄漏从而避免OOM,本质上都需要对内存泄漏的产生,以及几种常见的方式需要有着清晰的认识。

多渠道打包

新上的项目,需要发布12个渠道,小米,魅族,华为等等。就涉及到多渠道打包问题。小结一下。

2018元贝驾考工作经验

我在 2018年 8 月份离职了,这份工作实际干了不超过4个月,主要是团队项目管理原因,每天干活干的特别憋屈,功劳是别人的,锅都是自己的。当初进入这家公司也是够蠢的,只注重短期利益,忽略长远发展,简单概括就是短视。这家公司是一个有20人不到的团队。具体的细节不阐述了。说说得到的经验教训。

关于Andorid混淆

新公司的驾考类产品稳定运行了好几年,最近接手的时候发现居然没有进行混淆处理。这无异于在大马路上裸奔。反编译之后,分分钟拿到你的所有源码。

马上将这一情况报告给leader,leader是搞ios出身的。同意了。原本以为一天就搞完了,后来的经历告诉我,还是太年轻了。

接着我才理解这个项目的前辈们不搞混淆的原因,这是一条漫漫长坑。

其实混淆本身不难,难的是一个项目历尽几手,尾大不掉。很多意外的坑。

2018三月面试经历

金三银四。求职的好机会。第一个需求发展,第二个看看市面上需要什么样的人才,找准自己的定位。坐标南京。面试了努比亚,苏宁,焦点科技,地平线机器人。

Gradle从2.1升级到3.3具体的一些坑

最近维护原有的老项目的时候,发现gradle版本居然是2.1版本,难怪我说编译需要花费5分钟!!!尤其是现在的gradle稳定版本已经4.1+的情况下,显得更慢。

本着时间就是金钱的理念,开启了我的升级填坑之旅!、

爷爷是个老头

打我记事起 爷爷就是个老头 他那么老 好像从来不曾年轻过 他那么老 好像生来只为了做我的爷爷 可我从未认真想过他有一天会死 我总以为 一个人再老 总可以再活一年吧 然而有一天他还是死了 就像土跺的院墙 风雨多了 总有一天会塌下来 没了 完了 他的一生我也知道得很少 他说过一些 我记不大起来 就像他爱我很多 我只是喊他声爷爷

关于String的一点知识

相信大部分准备过java面试的同学都知道Java中的String是final修饰,不可变的。可是只知道是什么,不知道为什么是一件非常危险的事情。因为任何事情都没有绝对。

我们先看看什么是不可变对象。

Android热更新

项目场景:

  • 紧急发现了一个bug,影响用户体验,阻断项目流程。这个时候,只能紧急发布一个强制更新的新版本,让用户升级。
  • 最近百团大战开始。需要增加一个活动弹窗入口,越快越好。这个时候,只能紧急发布一个强制更新的新版本,让用户升级。

存在需求:

可不可以不让用户重新安装就可以解决上述场景?

存在的意义

欢迎来到桂圆的第二人生。

这是我的第一篇博文。万事开头难,不过凡事要具体了的话,就会很深入,深入的话就会迎刃而解。

TextView开发小细节

TexitView 在开发中是一个非常常见的控件,但是在限制字符串行数的时候,存在两个属性都可以控制单行。为啥google采用两种实现方式呢?

Android 触摸机制

android开发,涉及到自定义view的时机会非常的多,完成一个非常优质的view,view必须和用户又一个非常良好的交互。view的事件处理就是一个很重要的环节。

本文是对view有一定基础的总结。

浅谈Android ANR

使用android手机的时候,有时候会出现卡屏,无法动弹的情况。本文就简单的说明一下程序无响应的问题。

Android 如何根据XML文件读取drawable资源

问题提出的背景:自己在做launcher的新功能,摇一摇切换壁纸的时候。需要动态获取壁纸的id,然后填充到布局上。这样在后期维护的时候,就不需要过多的改动代码,直接增减图片,以及在配置文件(wallpapers.xml)中修改就好了。

ViewHolder 小结

adapter用的很多,android 5.0之后,采用recycleview来取代之前的listview。其中最大的一点就是让大家习惯于用viewholder.自己小结一下viewHolder的好处。

根据android对view的绘制原理,我们可以看到每一次对画布中view的寻找,是自上而下的,所以每一次findviewbyId的消耗非常大。