Android开发中需要注意哪些问题_第1页
Android开发中需要注意哪些问题_第2页
Android开发中需要注意哪些问题_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、android开发中需要注意哪些问题?1、不要排斥新技术和新工具。android studio 1.0之后的版本,基本已经稳定到可以支持正常的工作开发的程度了。单纯就书写效率而言,android studio带来的好处绝对大于它和 gradle的学习成本。jetbrains的ide ,用过都说好。还有就是适当的提升targetsdkversion到新版本。2、代码设计方面的问题,大部分都能在android系统源码里找到解决方案。当你想设计一个新模块,或者实现一个新ui组件的时候,应该采用哪些设 计模式、应该以哪种形式给外界提供接口之类的问题,大部分都可以参考 android系统的源码,找到实现

2、方式。google为安卓程序员提供了一座现成的 宝库。3、理解android和java内存管理方式,至少要理解垃圾回收和java的引用。就好比学0c就要先理解黄金法则一样,而java的内存管理,其实比0c 要好理解多了。这可能会帮助你大大减少程序异步操作产生的空指针崩溃。也会帮助你理解 为什么滥用单例模式会导致内存的臃肿。还会帮助你养成不用+去连接超大 字符串的好习惯。4、contentprovider并不是只有在跨进程共享数据的才有用,把数据库表映射 到一个独立的uri是google鼓励的实现方式。从设计上讲,用uri (统一资源标识符)去描述数据,肯定比sql语句要理想。从效果上讲,用cu

3、rsorloader读取数据是让ios程序员都羡慕不已的事情,作为android程序员,何苦不用呢。5、测试环节不重视,之前努力付东流无论你开发过程进行的多么顺利,当你雄心勃勃将产品上线后,发现很多问题没有被测试岀来,用户使用后,走的走、喷的喷,那么最终还是一场空,你也 不得不将产品回炉,那既然之前所有的努力都做了,眼看自己的产品就要在市场 中引爆热潮,但就因为质量管理的松懈,让一切付出都被这一环节放流,又是何 苦呢?那么这个环节解决方法也很简单,如果说自测费时费力,效果也不太如意, 那么开发应该着重投入开发环节,测试环节就交给第三方,目前国内外优秀的第 三方测试很多z就包括testfairy

4、、google play本地应用测试和testbird等, 都能满足测试需求,而像现在,合作已经成为行业大的趋势,固步自封永远不能有大的突破,何不各取所需,各得所利,去做一个双赢的事呢?6、理解activity任务栈。非activity的context对象如果直接启动activity会报错这只是一个表面 现象,真正起作用的其实是activity任务栈机制。理解activity任务栈机制以及activity的各种启动方式z会帮助解决大部分 页面关系错乱问题,以及应用互相掉起、任务栏进入应用、后台弹窗引起的各种 问题。7、对于一些奇葩的第三方rom ,调用其非主流api的时候,可以使用反射。在适配

5、一些第三方rom的的时候,调用一些在开发环境中没有,但在运行 环境中有的方法时,可以使用反射。比方说,华为双卡手机可能会提供获取第二 块sim卡信息的api ,如果直接调用,在开发环境可能无法通过正常编译,用反 射就没问题。这属于不得已而用反射的一种情况。8、sqlite的锁,是数据库级别的锁,也就是说同一个数据库的写操作无法并发 执行。所以,在数据库设计的时候,如果表太多”尽量将没有关联的表拆到多个数 据库文件中。9、bitmap的内存占用问题。这是一个困扰2.x时代android程序员的问题。2.x时代bitmap对象虽然存储在堆内存中,但是用了一个byte数组存储其 像素信息。通过计数器来记录该像素信息被引用的个数。有人认为这个byte数 组在native堆中,但事实上它也在堆中。只有在使用者调用recycle()后,bitmap对象才会释放像素信息,才会在失 去引用后,被垃圾回收机制销毁。再加上dvm的heap size有严格的阀值,所 以在使用大量图片资源的时候,及其容易发生oomo解决办法一般都是,用_个哈希表存储bi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论