android冷启动小研究
随着项目版本的迭代,App的性能问题会逐渐暴露出来,而好的用户体验与性能表现紧密相关。来看一下Google官方文档《Launch-Time Performance》 对应用启动优化的概述;
随着项目版本的迭代,App的性能问题会逐渐暴露出来,而好的用户体验与性能表现紧密相关。来看一下Google官方文档《Launch-Time Performance》 对应用启动优化的概述;
笔者的mac,装了Android File Transter 可以连接国内的华为,小米,魅族之类的手机。
但是比如vivo系列,oppo系列就无法连接。这个时候需要手动添加设备id,识别。
OOM问题会经常困扰我们,尤其是维护一个用户数量基数大的app的时候,我们的bug统计数据前几位,基本上会被OOM问题给占据。通过结果反向分析问题,和在写代码的时候注意内存泄漏从而避免OOM,本质上都需要对内存泄漏的产生,以及几种常见的方式需要有着清晰的认识。
新上的项目,需要发布12个渠道,小米,魅族,华为等等。就涉及到多渠道打包问题。小结一下。
各大手机机型层出不穷,适配问题也是方法尽出。
新公司的驾考类产品稳定运行了好几年,最近接手的时候发现居然没有进行混淆处理。这无异于在大马路上裸奔。反编译之后,分分钟拿到你的所有源码。
马上将这一情况报告给leader,leader是搞ios出身的。同意了。原本以为一天就搞完了,后来的经历告诉我,还是太年轻了。
接着我才理解这个项目的前辈们不搞混淆的原因,这是一条漫漫长坑。
其实混淆本身不难,难的是一个项目历尽几手,尾大不掉。很多意外的坑。
金三银四。求职的好机会。第一个需求发展,第二个看看市面上需要什么样的人才,找准自己的定位。坐标南京。面试了努比亚,苏宁,焦点科技,地平线机器人。
最近维护原有的老项目的时候,发现gradle版本居然是2.1版本,难怪我说编译需要花费5分钟!!!尤其是现在的gradle稳定版本已经4.1+的情况下,显得更慢。
本着时间就是金钱的理念,开启了我的升级填坑之旅!、
项目场景:
存在需求:
可不可以不让用户重新安装就可以解决上述场景?
TexitView 在开发中是一个非常常见的控件,但是在限制字符串行数的时候,存在两个属性都可以控制单行。为啥google采用两种实现方式呢?
android开发,涉及到自定义view的时机会非常的多,完成一个非常优质的view,view必须和用户又一个非常良好的交互。view的事件处理就是一个很重要的环节。
本文是对view有一定基础的总结。
在实际开发中,我们会发现,fragment会与外界有一些信息传递,例如activity传递信息进入fragment。
使用android手机的时候,有时候会出现卡屏,无法动弹的情况。本文就简单的说明一下程序无响应的问题。
问题提出的背景:自己在做launcher的新功能,摇一摇切换壁纸的时候。需要动态获取壁纸的id,然后填充到布局上。这样在后期维护的时候,就不需要过多的改动代码,直接增减图片,以及在配置文件(wallpapers.xml)中修改就好了。
adapter用的很多,android 5.0之后,采用recycleview来取代之前的listview。其中最大的一点就是让大家习惯于用viewholder.自己小结一下viewHolder的好处。
根据android对view的绘制原理,我们可以看到每一次对画布中view的寻找,是自上而下的,所以每一次findviewbyId的消耗非常大。