随笔一记

  转眼就到了19年的五一了,一件好事是今年五一放四天假,但是不好的事即将发生,我有可能被索菱踢出公司圈了,不知是喜或是忧,因为我也算见证了索菱繁华和衰落,曾记得17年我来到这里的时候公司大量招人,项目也是陆陆续续不断,有出货有未出货的,但是无论怎样我们都是保持着一颗积极努力的心态在做,然而时过境迁,现在却是衰败的如此之快,有行业的不景气,但是跟公司的决策也有莫大的关系,如今公司因资金紧张,大量变向裁员,导致公司是实存名亡,呜呼哀哉!

    事既已定,诚然就是为自己谋后路了,对于我们这种做了几年的程序猿来说就是记录下最近这份工作所的内容了:

1:iPod播放器的开发与实现:车机端实现iPod的播放控制,信息列表的展示

2:SystemUI的定制:针对Android原生4.4和7.1两版本的SystemUI对状态栏和下拉通知栏,导航栏的定制,以及fsml版本的裁剪

3:Launcher的定制:针对Android4.4原生的Launcher2对WorkSpace和AllApp进行定制和修改

4:framework修改:服务的裁剪,壁纸,输入法,状态栏导航栏高度,状态栏导航栏位置(左右),语言

5:科大,同行者语音语义定制和逻辑功能修改

另外记录下app性能优化的步骤和framework关于Activity的启动流程:

app性能优化:

1)启动优化:热启动和冷启动,针对冷启动需要优化在Application中onCreate()方法(特别是第三方sdk)和Activity的渲染不要进行耗时操作,如果存在需要放在子线程中处理

2)响应优化:Android每隔16ms发出一个vsync的信号进行重绘,如果此时上次的绘制还没有完成的话,这次的绘制会被抛弃,导致卡顿出现:(1)布局过于复杂 (2)UI线程运算复杂(3)频繁的GC(内存抖动:短时间内大量的对象创建又被销毁;瞬间产生大量对象)

3)内存优化:

(1)内存泄露:bitmap未recycle,静态实例长期占用Activity的引用,数据库,网络流未关闭,广播未unregister,集合未清理等

(2)内存溢出:超出Android给程序分配的内存,例如分配long类型数据给int类型,另外就是内存泄露严重导致

4)电池优化:

(1)优化网路请求:减少网路请求次数,使用GZIP压缩,减小图片大小,使用缓存机制

(2)不使用时候关闭GPS定位

Activity的启动流程如下:

Launcher点击图标,调用startActivitysafely(),然后调用startActivityForResult()然后再去调用Instrumentation.execStartActivity(),然后调用ActivityManagerService.checkStartActivtyResult()然后去调用Application.scheduleLaunchActivty(),在该方法中创建了一个ActivityClientRecord对象通过handler发送,然后通过LoaderApk.handleLauncherActivity来启动Activity进行生命周期的调用。

生命诚可贵,生活价更高,让我们一起努力吧!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值