Android开发一点小技巧和建议献上

机型适配

特定的机型上出问题时,别着急。我们可以尝试以下几个办法。

  • 反编译rom,看底层改动(条件略高)
  • 联系该厂商的工程师(如果可以的话)
  • 拷贝整个我们调用api的源码进行单独依赖,而放弃系统内的
  • 逆向在该机型上正常的同类app,参考逆向后的代码实现
  • 参考各个版本不同的Android API变化,可以从源码入手进行对
  • 利用反射获取该特定机型上的某个我们想知道的方法,动态调试

排查崩溃闪退日志:

1.如果app在调试的过程中出现闪退,此时在logcat下日志会被新起来的进程冲刷掉。这时需要把过滤器选择为No filter 把日志级别选为 error即可查看到上一次崩溃的日志。

2.有一种情况是手机并不在我们身边,我们也无法使用调试工具。此时可以接入一些第三方的日志记录工具。在开发状态下不建议使用友盟 360之类sdk,因为很有可能我们的app根本无法连接到网络就崩溃了。 可以选择把日志存到本地文件中。再由使用手机的人发回来。一般这个人是测试。

3.如果app未接入任何日志保存工具,可以在data/anr/目录下查看到所有的ANR异常信息。但需要su权限。否则无法访问到。

APP性能体验优化

1.素材有必要使用压缩后的。推荐熊猫PNG压缩。

2.资源能用代码画尽量使用代码去画,而不要使用静态资源。

3.在复杂的布局上,比如很多app的首页需要加载不同类型的item。使用了RecyclerView多类型加载,刷新数据时一定要使用单独对item刷新api。切勿使用notifyDataSetChanged()方法,这里要用两个参数的notifyItemChanged(1,"gfg")方法。

4.数据懒加载,或排队加载。

5.混淆可以使包减小含:(xml 资源 class等)

6.如果玩得不是很6,尽量不要写静态引用,匿名内部类这种会导致内存泄漏的东西。如果很担心自己失误的写了,一定要去分析它们,把他们揪出来。

7.Activity的层级不要太深。过深的层级会在低内存设备上被回收栈底的Activity。

建议和技巧

1.发现某处代码可以复用性的封装一下或者改良一下会更好的时候一定要乘早,不要拖延。(烂泥巴只会越来越烂,后面改=永远没可能)

2.debug编译期间可以把用不到的abi过滤掉,会让我们加速部署。

3.尽量保持较新的 support library依赖。因为较高的版本中修复了一些bug。

4.接入第三方包时,最好与自身模块保持独立,做到随时解耦,随便复用。

5.多个native库依赖时,若发现某些abi上不支持,那么就需要保持最小的abi。否则会给某些机型优先读取它更合适的架构。会造成灾难性的崩溃。如:ARM文件夹中含两个so,ARMv8中只有一个。届时手机优先加载了ARMV8的情况下,将带来找不到so库的崩溃异常。

6.不要太随性的引入第三方依赖库,如果只是用了很小一部分功能,建议剥出来自己封装。
7.第三方的包含私有api为暴露时,记得用反射去实现。当然这一切需要我们能翻他们的sdk源码读。也许被混淆了。这时就可以使用动态调试去跟踪。
8.多数情况下官方的support包比第三方要好得多。只是我们不知道,或者不熟悉。
9.渐变图、纯色图、带一根线的图用shape,不要静态图。会引发血案!
10.当无法通过搜索解决问题的时候,读源码是最快的解决思路。千万不要瞎猜和尝试随缘写代码来解决问题。
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)

文末

今天关于面试的分享就到这里,还是那句话,有些东西你不仅要懂,而且要能够很好地表达出来,能够让面试官认可你的理解,例如Handler机制,这个是面试必问之题。有些晦涩的点,或许它只活在面试当中,实际工作当中你压根不会用到它,但是你要知道它是什么东西。

最后在这里小编分享一份自己收录整理上述技术体系图相关的几十套腾讯、头条、阿里、美团等公司2021年的面试题,把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,这里以图片的形式给大家展示一部分。

还有 高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料 帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。

【Android核心高级技术PDF文档,BAT大厂面试真题解析】

【算法合集】

【延伸Android必备知识点】

【Android部分高级架构视频学习资源】

**Android精讲视频领取学习后更加是如虎添翼!**进军BATJ大厂等(备战)!现在都说互联网寒冬,其实无非就是你上错了车,且穿的少(技能),要是你上对车,自身技术能力够强,公司换掉的代价大,怎么可能会被裁掉,都是淘汰末端的业务Curd而已!现如今市场上初级程序员泛滥,这套教程针对Android开发工程师1-6年的人员、正处于瓶颈期,想要年后突破自己涨薪的,进阶Android中高级、架构师对你更是如鱼得水,赶快领取吧!

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!**

  • 14
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值