[置顶] 我在所在领域需要持续关注的前辈(持续更新)

意义清单...
阅读(340) 评论(0)

[置顶] 想一想你想成为一个什么样的人

七年失败的程序之路 http://www.cnblogs.com/dissun/p/5745896.html#3488507《七年失败的程序之路》读后感 http://www.cnblogs.com/freeflying/p/5762901.html...
阅读(787) 评论(2)

[置顶] 技术分享一览

主题:android断点上传断点下载原理分析 时间: 主题:android网络框架原理漫谈 时间:2016.07.01...
阅读(684) 评论(3)

[置顶] 下一个五年你会在哪里,做着怎样的事

这一路你可曾被自己感动过...
阅读(934) 评论(4)

[置顶] 2016年技术源码&书籍阅读总结

时间 书名 总结   android编程入门指南     android群英传     android开发艺术探索     深入理解Java虚拟机:JVM高级特性与最佳实践(第2版)     程序员的自我修养-链接,装载与库     设计模式之禅     设计模式的艺术——软件开发人员内...
阅读(1326) 评论(3)

gradle基础讲解系列1

目标 了解Android编译过程 了解gradle的原理和组成 gradle如何管理Android构建过程 Android的编译流程步骤中提到的工具如下表: 总结为:编译–>DEX–>打包–>签名和对齐 理论上,只要知道android app的编译过程,我们大可以自己写一份用gradle编译app的插件,插件内将将整个流程用Task的依赖串联起来。现在我们看看gradle是怎么做的。这个流程还是...
阅读(84) 评论(0)

【实践】Method Tracking

一.能做什么?直观的看到某个时间段内哪个方法花了多少时间。二.工作台介绍非独占时间: 某函数占用的CPU时间,包含内部调用其它函数的CPU时间。 独占时间: 某函数占用CPU时间,但不含内部调用其它函数所占用的CPU时间。三.如何操作点击Start Method Tracking, 一段时间后再点击一次, trace文件被自动打开,我们如何判断可能有问题的方法?通过方法的调用次数和独占时间来查看,...
阅读(60) 评论(0)

【实践】TraceView使用

零.简介DDMS是一个集调试、浏览、控制等操作为一体的工具箱,而traceView只是一个性能调优工具,可通过它查看程序中方法的执行效率等指标。如何打开traceview?方法1:最简单的方式就是直接打开DDMS,选择一个进程,然后按上面的“Start Method Profiling”按钮,等红色小点变成黑色以后就表示TraceView已经开始工作了。然后进行手机操作,操作最好不要超过5s,因为最...
阅读(73) 评论(0)

【实践】Allocation Tracking使用

一.能做什么?追踪内存分配信息,按顺序排列,这样我们就能清晰看出来某一个操作的内存是如何一步一步分配出来的。比如在有内存抖动的可疑点,我们可以通过查看其内存分配轨迹来看短时间内有多少相同或相似的对象被创建,进一步找出发生问题的代码。二.工作台介绍Group by Method:用方法来分类我们的内存分配 Group by Allocator:用内存分配器来分类我们的内存分配 不同的选项,在D区...
阅读(49) 评论(0)

【实践】MAT使用

一.简介Android studio未集成该插件,需要你下载独立版。android studio的DDMS可以生成hprof是什么文件,不过需要进行一下格式转化(.hprof文件从Dalvik格式转换成J2SE HPROF格式),才可以导入MAT独立版软件。可以做什么?导入hprof文件,帮助我们进行堆转储文件分析,分析内存泄漏和大对象,可以帮助你发现内存漏洞和减少内存消耗。二.使用流程程序运行内存...
阅读(179) 评论(0)

【实践】Memory Monitor使用

一.可以做什么实时查看App的内存分配情况 发现内存抖动的场景 发现大内存对象分配的场景 发现内存不断增长的场景 确定卡顿问题是否因为执行了GC操作二.操作方法实践工作台介绍: Enable,暂停内存信息的收集,再次点击后恢复内存信息的收集 Initiable GC,执行GC。GC就是垃圾回收的意思,我们可以从Memory monitor看到何时发生了GC event,当...
阅读(58) 评论(0)

【实践】内存泄漏问题解决

移动互联网时代已经过去,对于多数人来说做一个app并不是难事,但是做一个精品app却是相当难的,更低的内存占用,更快的启动速度,更人性化更快速流畅的交互和UI设计,是app开发者应该去思考和实践的方向。最近在解决项目中的内存泄漏问题,记录如下:一.内存泄漏简介之前有写过一篇blog,当时对内存泄漏问题有过整理,可移步阅读:APP性能优化系列:内存优化-内存泄露详解 http://blog.csdn...
阅读(65) 评论(0)

【实践】Android apk瘦身实践

项目背景:更小的安装包可以提升用户转化率,所以安装包瘦身是很有必要的。方案1:去除无用的语言资源 resConfigs “zh” 方案2:so库兼容So(shared object,共享库)是机器可以直接运行的二进制代码,是Android上的动态链接库,类似于Windows上的dll。每一个Android应用所支持的ABI是由其APK提供的.so文件决定的,这些so文件被打包在apk文件的lib...
阅读(105) 评论(0)

【实践】内存问题排查实践

目标 了解Android编译过程 了解gradle的原理和组成 gradle如何管理Android构建过程 Android的编译流程步骤中提到的工具如下表: 总结为:编译–>DEX–>打包–>签名和对齐 理论上,只要知道android app的编译过程,我们大可以自己写一份用gradle编译app的插件,插件内将将整个流程用Task的依赖串联起来。现在我们看看gradle是怎么做的。这个流程还是...
阅读(56) 评论(0)

viewpager相关问题

viewpager嵌套viewpager两个viewpager都不想要预加载的机制。 一个需要记录在当前页面的停留时间,下次进来如果超过1h就要重新拉取。 一个每个fragment都有轮询,需要在可见时开始轮询,不可见停止轮询。几个需要注意的点: 1.用fragment的hide和show方法,生命周期是不走onresume和onpause的,走的是onhidden方法;2.使用lazyvie...
阅读(237) 评论(0)

[转]java日期类复习

发现新公司app中涉及大量java日期类,所以这里一并把常见的java日期类复习一下。日期在Java中是一块非常复杂的内容,对于一个日期在不同的语言国别环境中,日期的国际化,日期和时间之间的转换,日期的加减运算,日期的展示格式都是非常复杂的问题。Date1.说明类 Date 表示特定的瞬间,精确到毫秒。用距离1970年1月1日00:00:00的毫秒数(long)类型来表示一个特定的时间点,该值可正可...
阅读(155) 评论(0)

代码混淆之后定位线上bug

代码混淆的目的代码混淆的目的是防止竞争对手通过反编译来阅读项目代码。Android中通过ProGuard来做代码混淆(当然也还有其他的产品可以做代码混淆)。bug日志反混淆资料:错误log、mapping.txt异常log: mapping.txt: 表示混淆前后代码的对照表(映射关系),这个文件非常重要。如果你的代码混淆后会产生bug的话,log提示中是混淆后的代码,希望定位到源代码的话就可以...
阅读(245) 评论(0)

提升代码质量的方法(持续更新)

1.建立一个问题checklist,每次出现比较特别的问题的时候,都抽象一下整理到checklist中,测试期间对应checklist自测代码。2.提交代码找人review。3.多进行代码架构设计思考、uml实践,多重构自己的代码。4.防御式编程。...
阅读(220) 评论(0)

ArrayList、LinkedList、Vector、HashSet、Treeset、HashMap、TreeMap的区别和适用场景

ArrayList、LinkedList、Vector、HashSet、Treeset、HashMap、TreeMap的区别和适用场景ArrayList与LinkedList的区别和适用场景Arraylist:优点:ArrayList是实现了基于动态数组的数据结构,因为地址连续,一旦数据存储好了,查询操作效率会比较高(在内存里是连着放的)。 缺点:因为地址连续, ArrayList要移动数据,所以...
阅读(382) 评论(1)

二叉树、二叉排序树、平衡二叉树、红黑树

算法基础(数据结构基础复习)树的基本概念树是一种非线性的数据结构。如上图所示就是一棵树,他是若干节点的结合,是由唯一的根和若干不相交的子树组成。二叉树在理解了树的定义之后,对于二叉树的定义也就很好理解了。将一般的树加上如下两个限制条件就得到了二叉树。 1.每个结点最多只有两棵子树。 2.子树有左右之分。二叉排序树二叉排序树的定义 二叉排序树或者是空树,或者是满足如下性质的二叉树 1.若它的左...
阅读(341) 评论(1)

道阻且长 行则将至——android学习总结

道阻且长 行则将至——android学习总结我是14年毕业的,我在想我是从什么时候开始做的android开发呢?是大二下学期的时候,那个时候跟在学长的屁股后面蹭一个软件设计大赛的比赛。那时,我们选的是android开发。想来是12年年中的时候吧。我在学校属于极其普通的那种类型,开窍的也晚。那个夏天,我断断续续的看了marks的视频,那会还用纸笔来边看视频边记笔记,那是追求的还不是掌握运用,追求的是记...
阅读(243) 评论(0)

七遍代码大全笔记:全部

本来打算分开成多篇博客来写这一系列,后感觉集中一点便于以后查找迭代修改方便,所以集中成一篇。 笔记提纲导图大纲看大图: http://7xvzr8.com1.z0.glb.clouddn.com/2016-12-10%2020-41-36.png总结笔记说明1.以代码大全为基础,致力于构建一个知识结构或框架,串联阅读过的专业书籍。章1笔记代码大全一书重点讲软件的构建。章2笔记章2主要是通过和生活中...
阅读(371) 评论(2)

高焕堂视频学习笔记:认识进程和IPC架构

说明: 2015年的时候看了一段时间的高焕堂从Android程序员到架构师视频,总共接近234集的内容,15年大概看了60集左右,后来因为其他的事情,这个事就暂停了,最近找出笔记,发现需要整理下,不然都腐烂在电脑硬盘里了,所以特意整理之后发出来。希望对小伙伴们学习会有帮助。大致浏览了一下视频目录,感觉165-234集还是不错的,有时间会再学习。 认识进程和IPC架构process,在电脑中有...
阅读(283) 评论(0)

高焕堂视频学习笔记:介绍android的java层应用框架

说明: 2015年的时候看了一段时间的高焕堂从Android程序员到架构师视频,总共接近234集的内容,15年大概看了60集左右,后来因为其他的事情,这个事就暂停了,最近找出笔记,发现需要整理下,不然都腐烂在电脑硬盘里了,所以特意整理之后发出来。希望对小伙伴们学习会有帮助。大致浏览了一下视频目录,感觉165-234集还是不错的,有时间会再学习。 介绍android的java层应用框架框架的背...
阅读(305) 评论(0)
415条 共21页1 2 3 4 5 ... 下一页 尾页
    写给自己
    ○ 种一棵树最好的时间是十年前,其次是现在

    ○ 坚持输出,坚持书写,才可以持续成长

    ○ 所有美好事物的成长都是缓慢的

    ○ 既往不恋,未来不迎,当下不杂

    ○ 业精于勤,荒于嬉,行成于思,毁于随

    ○将军赶路 不追小兔

    ○不要拘泥于语言,同样也不要拘泥于行业,眼光放远一点

    ○ 如果某件事你做的不够好,不必介怀,因为以后的每一次每一天你都会做得越来越好

    ○ 此心不于事上磨,更于何处磨此心

    ○ 保持热情,保持求知欲

    ○ 千里之行,始于足下

    ○ 最怕你一生碌碌无为,还安慰自己平凡可贵。

    ○ 对于任何事,要保持自觉积极主动探索尝试。但是如果自己不积极认真地生活,不管得到什么样的回答都没有用。——解忧杂货店
    个人资料
    • 访问:551944次
    • 积分:8019
    • 等级:
    • 排名:第2533名
    • 原创:354篇
    • 转载:61篇
    • 译文:0篇
    • 评论:132条
    个人简介