31 December 2016

layout: post category : android开发 tagline: “工作记录” tags : [工作,android,记录] —

2016小米工作记录


2016.06.01

application的largeHeap标签,在华为和小米手机上表现不一样

Fresco 的PostProcessor的bitmap默认的alpha通道是关的,有透明背景需求的要记得打开 output.setHasAlpha(true)


要显示二种不同的布局,一个是用TextView显示一段文字,另一个则是用ImageView显示一个图片。这二个是在onCreate()时决定是显示哪一个,这里就是应用ViewStub的最佳地点。


netstat -npt 可以看到网络层的buffer堵了多少。

adb shell top -t 查看线程堵不堵。


压测,登录服务器步骤

  1. ssh chengsimin@relay.xiaomi.com
  2. hd zc-g-op-build01.bj
  3. su - orion
  4. cd zhibo-msg/press_call
  5. ./press_call.run 9 输入roomid

好奇怪的问题,EventBus提示no subscriber,可是明明有。 妈的,原来跑到另外一个进程去了。


查,android 性能分析优化工具

StrickMode


PagerAdapter 调用notifyDataSetChanged 但不刷新的解决方法 @Override public int getItemPosition(Object object) { return POSITION_NONE; }


buildTypes minifyEnabled true

减小安卓包大小 tiny 微信开源压缩框架


html5防劫持 , 运营商 http 302 重定向。页面暂时转移


公共组件:移动MilinkAdapter、移动账户及他们的相关依赖到data层(2天) 代码规范制定:边走边做,在wiki上不断完善,大家有好的建议可以提出然后进wiki。 coverity和monkey跟踪: 过一遍converity。 strictmode+allocationtracing:性能优化


1.公共组件重构优化:重构优化MilinkAdpater、账户相关、将公共组件层次化;若干业务优化:充值相关使用mvp重构; 2.代码规范完善&代码质量把控,推动新进代码都使用mvp架构。 3.性能优化和monkey跟踪


导出 aar build后在相应module的目录下就有aar


使用第三方库要有一个适配层。

CardView 增加了许多交互的 FrameLayout,一般用作List的item


presenter + eventbus + 懒加载view


递归找字符串

grep -r “csm” *.java


环境变量修改 sublime ~/.zshrc


alias aj=’autojump’


./gradlew app:dependencies 打印出项目的依赖树


RxJava 调用 unsubscribe ,不会回调 onComplete ,但会调用 doOnUnsubscribe


adb shell getprop “ro.build.fingerprint”

adb shell getprop “ro.miui.ui.version.code” 判断是不是miui系统。

adb shell getprop “ro.product.mod_device” 判断是不是国际版


匿名内部类会拿this引用。 只有 A a = new A(){} 才会算内部类


png图片批量压缩 使用 tinyutils 脚本


记录一个Parcelable的bug,Activity A 起了一个Fragment,传了一个没有序列化的对象,Fragment拿到以后正常使用,但是起了一个Activity B就崩了。原因是在 Activity 和 Fragment 中传值时没有经过Activity Manager Service,没有进程间通信,但Activity A 和Activity B需要。


ps | grep com.xiaomi.channel cat /proc/4098/oom_adj

查看这个进程的优先级,越小越高




blog comments powered by Disqus