西安Android开发培训:360面试问题总结

  • 发布时间:2016-09-01 12:00:38,加入时间:2015年10月20日(距今3487天)
  • 地址:中国»陕西»西安:陕西省西安市高新区唐兴路10号
  • 公司:蓝鸥科技有限公司西安分公司, 用户等级:普通会员 已认证
  • 联系:杨萍,手机:17791055930 电话:029-88867933 QQ:2962671591

西安Android培训机构今天为大家整理了关于在360面试时都遇到了哪些问题?360面试分为两轮,都是视频面试,来看看都有什么可以借鉴的知识点吧!

避免bitmaps的浪费

当你加载一个bitmap时,仅仅需要保留适配当前屏幕设备分辨率的数据即可,如果原图高于你的设备分辨率,需要做缩小的动作。请记住,增加bitmap的尺寸会对内存呈现出2次方的增加,因为X与Y都在增加。

Note:在Android 2.3.x (API level 10)及其以下, bitmap对象的pixel data是存放在native内存中的,它不便于调试。然而,从Android 3.0(API level 11)开始,bitmap pixel data是分配在你的app的Dalvik heap中, 这提升了GC的工作效率并且更加容易Debug。因此如果你的app使用bitmap并在旧的机器上引发了一些内存问题,切换到3.0以上的机器上进行Debug。

使用优化的数据容器

利用Android Framework里面优化过的容器类,例如SparseArray, SparseBooleanArray, 与 LongSparseArray。 通常的HashMap的实现方式更加消耗内存,因为它需要一个额外的实例对象来记录Mapping操作。另外,SparseArray更加高效在于他们避免了对key与value的autobox自动装箱,并且避免了装箱后的解箱。

请注意内存开销

对你所使用的语言与库的成本与开销有所了解,从开始到结束,在设计你的app时谨记这些信息。通常,表面上看起来无关痛痒(innocuous)的事情也许实际上会导致大量的开销。例如:

Enums的内存消耗通常是static constants的2倍。你应该尽量避免在Android上使用enums。 
在Java中的每一个类(包括匿名内部类)都会使用大概500 bytes。 
每一个类的实例花销是12-16 bytes。 
往HashMap添加一个entry需要额一个额外占用的32 bytes的entry对象。 
请注意代码“抽象”

通常,开发者使用抽象作为”好的编程实践”,因为抽象能够提升代码的灵活性与可维护性。然而,抽象会导致一个显著的开销:通常他们需要同等量的代码用于可执行。那些代码会被map到内存中。因此如果你的抽象没有显著的提升效率,应该尽量避免他们。

蓝鸥西安分中心是蓝鸥科技的第六家分中心,专注于iOS、Android、HTML5开发、UI设计,师资力量强大,教学经验丰富,环境优美,交通便利,始终坚持让教育回归本质的教学理念,学习Android开发,就来蓝鸥科技!

联系我时请说明来自志趣网,谢谢!

免责申明:志趣网所展示的信息由用户自行提供,其真实性、合法性、准确性由信息发布人负责。使用本网站的所有用户须接受并遵守法律法规。志趣网不提供任何保证,并不承担任何法律责任。 志趣网建议您交易小心谨慎。