程序员的进阶
文章平均质量分 70
ShouCeng
○ 2012年8月开始从事Android开发至今,具备4年以上Android开发经验
○ 完成10多个产品开发工作
○ 独立完成5个App开发上线工作
○ 曾就职于中科院自动化所、中科院计算所、美团网、58集团等公司
○ 硕士,毕业于北京交通大学,专业软件工程
展开
-
Android启动流程浅谈
一、开机启动流程:Android系统启动是由BootLoader引导开机,然后依次进入kernel、Native、Framework、App。二、冷起进程创建流程:进程的创建,主要涉及到两个进程的通信system_server进程和Zygote进程:system_server进程:是用于管理整个Java framework层,包含ActivityManager,PowerManager等各种系统服务;Zygote进程:是Android系统的首个Java进程,Zygote是所有Java进程的父进原创 2022-04-12 21:19:44 · 2960 阅读 · 0 评论 -
AndroidStudio通过Profiler查找内存泄漏
除了LeakCanary和mat可以帮我们排查内存泄漏,Profiler也可以,功能强大,可以进行内存、绘制、网络、电量的分析。通过view-》Tool Window -》Profiler打开工具,选择对应的进程,选择MEMORY然后点击Recorder按钮:然后筛选,就可以查看结果了。勾选 show nearest Gc root only,然后查看非weakreference的引用(weakreference是不会导致内存泄漏的),往下就能找自己项目里写的代码,一般此处就是内存泄漏点。该案原创 2022-02-08 14:41:37 · 3188 阅读 · 0 评论 -
知道这20个正则表达式,能让你少写1,000行代码
正则表达式,一个十分古老而又强大的文本处理工具,仅仅用一段非常简短的表达式语句,便能够快速实现一个非常复杂的业务逻辑。熟练地掌握正则表达式的话,能够使你的开发效率得到极大的提升。正则表达式经常被用于字段或任意字符串的校验,如下面这段校验基本日期格式的JavaScript代码:var reg = /^(\\d{1,4})(-|\\/)(\\d{1,2})\\2(\\d{1,2})$/; var r转载 2016-07-28 13:58:20 · 367 阅读 · 0 评论 -
浅谈程序员的英语学习
作为在中国工作的程序员,不懂得英语似乎也不妨碍找到好工作,升职加薪。但程序员这个工种则稍有不同,因为程序,尤其是高级语言,基本上都是由英语和数字表达式构成的。英语对于程序员十分重要。我的大学本科全部采用英文教学,工作时也经常会遇到外国人,和他们谈笑风生,自认为自己的英语水平比园子的平均水平高一点。下面我就根据自己的经验来说说英语的学习方法。为什么要学习英语学好英语你可以直接阅读各种经典书籍的原文版。转载 2016-07-28 10:36:15 · 383 阅读 · 0 评论 -
Android开发规范
• 书写规范• 编码方式统一用UTF-8.AS默认已是UTF-8,只要不去改动就可以了。• 花括号不要单独一行,和它签名的代码同一行。而且,花括号与前面的代码之间用一个空格隔开。• 空格的使用:if\else\for\switch\while等逻辑关键字与后面的语句留一个空格隔开。运算符两边各用一个空格隔开。方法的每个参数之间用一个空格隔开。• 将逻辑相关的代码段用空行隔开,转载 2016-02-28 18:45:50 · 374 阅读 · 0 评论 -
《重构 改善即有代码的设计》笔记
我不是个伟大的程序员,我只是个有着一些优秀习惯的好程序员。--Kent Beck个人认为这本书是每个程序员都需要读的一本书,有种让人欲罢不能的感觉。有人把《重构》与《设计模式》并列为“java行业的圣经”。下面是我提炼出来的一些观点或者是总结。首先需要认识重复代码是软件万恶之源,这些重复代码应该被抽出来放进同一个函数中。重复代码是系统中最糟糕的东西之一。正因为如此,我们才要重构才需要有设计原创 2016-01-31 17:38:34 · 995 阅读 · 0 评论 -
Java 内部接口、回调
首先定义一个内部接口:package com.dsc;public class OutInterface { private InnerInterface mInterface; public String alertString(String temp) { if (mInterface != null) { return mInterface.exchange(temp原创 2014-10-08 14:50:37 · 1368 阅读 · 0 评论 -
ubuntu
在终端中输入:sudo passwd rootEnter new UNIX password: (在这输入你的密码)Retype new UNIX password: (确定你输入的密码)passwd: password updated successfullyctrl+alt+F7进入终端,输入root。输入密码,密码就是上面设置的。原创 2014-04-25 10:40:20 · 604 阅读 · 0 评论 -
程序员技术练级攻略
前言你是否觉得自己从学校毕业的时候只做过小玩具一样的程序?走入职场后哪怕没有什么经验也可以把以下这些课外练习走一遍(朋友的抱怨:学校课程总是从理论出发,作业项目都看不出有什么实际作用,不如从工作中的需求出发)建议:不要乱买书,不要乱追新技术新名词,基础的东西经过很长时间积累而且还会在未来至少10年通用。 回顾一下历史,看看历史上时间线上技术的发展,你才能明白明天会是什么样。 一定要转载 2014-04-21 14:14:02 · 890 阅读 · 0 评论 -
匿名内部类
abstract class Father(){....}public class Test{ Father f1 = new Father(){ .... } //这里就是有个匿名内部类}一般来说,new 一个对象时小括号后应该是分号,也就是new出对象该语句就结束了。但是出现匿名内部类就不一样,小括号后跟的是大括号,大括号中是该new 出对象的具体的实现方法。转载 2014-04-29 13:39:05 · 519 阅读 · 0 评论