Android 开发中,有哪些坑需要注意
3个回答
展开全部
不要排斥新技术和新工具。
代码设计方面的问题,大部分都能在Android系统源码里找到解决方案。
理解Android和Java内存管理方式,至少要理解垃圾回收和Java的引用。
ContentProvider并不是只有在跨进程共享数据的才有用,把数据库表映射到一个独立的uri是Google鼓励的实现方式。
理解Activity任务栈。
对于一些奇葩的第三方ROM,调用其非主流api的时候,可以使用反射。
SQLite的锁,是数据库级别的锁,也就是说同一个数据库的写操作无法并发执行。所以,在数据库设计的时候,如果表太多,尽量将没有关联的表拆到多个数据库文件中。
Bitmap的内存占用问题。
代码设计方面的问题,大部分都能在Android系统源码里找到解决方案。
理解Android和Java内存管理方式,至少要理解垃圾回收和Java的引用。
ContentProvider并不是只有在跨进程共享数据的才有用,把数据库表映射到一个独立的uri是Google鼓励的实现方式。
理解Activity任务栈。
对于一些奇葩的第三方ROM,调用其非主流api的时候,可以使用反射。
SQLite的锁,是数据库级别的锁,也就是说同一个数据库的写操作无法并发执行。所以,在数据库设计的时候,如果表太多,尽量将没有关联的表拆到多个数据库文件中。
Bitmap的内存占用问题。
2016-08-10 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
关注
展开全部
为Activity声明系统配置变更事件
尽量使用Android的API,多转语音开发很头疼的,
要考虑到Activity和进程被杀掉的情况,有时莫名其妙的闪退。
不要用四大组件去实现接口
用getApplication()来取Context当参数,直接转换,
主线程只做UI控制和Frameworks回调相关的事。附属线程只做费时的后台操作。交互只通过Handler。这样就可以避免大量的线程问题。
Frameworks的回调不要做太多事情仅做必要的初始化,其他不是很重要的事情可以放到其他线程中去做,或者用Handler Schedule到稍后再做。
要考虑多分辨率至少为hdpi, mdpi, ldpi准备图片和布局。元素的单位也尽可能的使用dip而不要用px。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
空指针异常,反正java编程中常见的问题,这里面也有
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询