字节跳动Android研发岗这些知识点内部泄露出来了,帮你突破瓶颈

⑧山寨加密方法
⑨滥用权限、内存泄露、使用debug签名
3. 如何缩减APK包大小?
代码
保持良好的编程习惯,不要重复或者不用的代码,谨慎添加libs,移除使用不到的libs 。
使用混淆代码,它会对不用的代码做优化,并且混淆后也能够减少安装包的大小 。
code的部分,大多数情况下只需要支持与x86的架构即可 。如果非必须,可以考虑拿掉x86的部分 。
资源
使用Lint工具查找没有使用到的资源 。去除不使用的图片,,XML等等 。目录下的资源请确保没有用不上的文件 。
生成APK的时候,aapt工具本身会对png做优化,但是在此之前还可以使用其他工具如对图片进行进一步的压缩预处理 。
jpeg还是png,根据需要做选择,在某些时候jpeg可以减少图片的体积 。对于9.png的图片,可拉伸区域尽量切小,另外可以通过使用9.png拉伸达到大图效果的时候尽量不要使用整张大图 。
策略
有选择性的提供hdpi,xhdpi,的图片资源 。建议优先提供xhdpi的图片,对于mdpi,ldpi与根据需要提供有差异的部分即可 。
尽可能的重用已有的图片资源 。例如对称的图片,只需要提供一张,另外一张图片可以通过代码旋转的方式实现 。
能用代码绘制实现的功能,尽量不要使用大量的图片 。例如减少使用多张图片组成-list的,这种方式提供了多张图片很占空间 。
4.与服务器交互的方式中的对称加密和非对称加密是什么?
对称加密,就是加密和解密数据都是使用同一个key,这方面的算法有DES 。
非对称加密,加密和解密是使用不同的key 。发送数据之前要先和服务端约定生成公钥和私钥,使用公钥加密的数据可以用私钥解密,反之 。这方面的算法有RSA 。ssh 和 ssl都是典型的非对称加密 。
5.设备横竖屏切换的时候,接下来会发生什么?
1、不设置的:时,切屏会重新调用各个生命周期,切横屏时会执行一次,切竖屏时会执行两次
【字节跳动Android研发岗这些知识点内部泄露出来了,帮你突破瓶颈】2、设置的:=””时,切屏还是会重新调用各个生命周期,切横、竖屏时只会执行一次
3、设置的:=”|”时,切屏不会重新调用各个生命周期,只会执行ed方法
6.启动的两种方式是什么? 它们的适用情况是什么?
如果后台服务开始后基本可以独立运行的话,可以用 。音乐播放器就可以这样用 。它们会一直运行直到你调用 或者 。你可以通过发送或者接收来与正在运行的后台服务通信,但大部分时间,你只是启动服务并让它独立运行 。如果你需要与后台服务通过一个持续的连接来比较频繁地通信,建议使用bind() 。比如你需要定位服务不停地把更新后的地理位置传给UI 。比开发起来复杂一些,但如果真的需要,你也只能使用它 。
**:**生命周期与调用者不同 。启动后若调用者未调用而直接退出,仍会运行
**:**生命周期与调用者绑定,调用者一旦退出,就会调用->
7.谈谈你对中的理解?
**:**包含上下文信息(外部值) 的一个参数.中的分三种,,, .
它描述的是一个应用程序环境的信息,通过它我们可以获取应用程序的资源和类,也包括一些应用级别操作,例如:启动一个,发送广播,接受信息等
8.的回调在UI线程中吗?
生命周期的各个回调和其他的应用组件一样,是跑在主线程中,会影响到你的UI操作或者阻塞主线程中的其他事情
点击这里免费领取吧!
…(img--61)]
点击这里免费领取吧!