Android开发,你应该知道的

1.启动一个应用程序,可以主界面点击图标进入,也可以从一个程序中跳转进去,二者有什么区别?
从主界面进入:
是执行androidMainfest.xml文件中,category标示为android.intent.action.MAIN的Activity;
属于显式调用;
从其他程序跳转进入:
属于隐式调用,Android系统根据Activity的Intent-Filter来选择使用哪个Activity来响应;

2.Serializable与Parcelable区别。
Serializable 是一个标准Java接口;
Parcelable 是一个Android特有的接口,他要比Seriallizable效率高一些。
(1)在使用内存的时候,Parcelable性能要比Serializable高。
(2)Parcelable不能使用在要将数据存储在磁盘的情况,因为他在外界有变化的情况下,不能保证数据的持续性。
(3)Seriallizable在序列化的时候会产生大量的临时变量,从而引起频繁的GC。

3.如何打包一下非常规资源,比如db数据文件,声音文件,字体文件?
可以使用res/raw和assets:
(1)两者目录下的文件在打包后会原封不动的保存在apk包中,不会被编译成二进制。
(2)res/raw中的文件会被映射到R.java文件中,访问的时候直接使用资源ID即R.id.filename;assets文件夹下的文件不会被映射到R.java中,访问的时候需要AssetManager类。
(3)res/raw不可以有目录结构,而assets则可以有目录结构,也就是assets目录下可以再建立文件夹
(4)这两个目录中文件都不能太大,官方数据时1M,如果超过1M可以考虑将文件切割,使用时候在拼接。

4.为方便起见,Google制定出一些主要计数单位:规定 1ldpi=120dpi,1mdpi=160 dpi,1hdpi=240 dpi,1xhdpi=320 dpi。为推动这一方案,Google力劝软件人员为不同DPI显示屏提供资源,确保其应用在任一款设备上看起来更漂亮。

5. 一张图片(BitMap)占用的 内存 = 图片长度*图片宽度*单位 像素占用的字节数。从Android4.0开始,RGB_565 选项无效。即使设置为该值,系统任然会采用 ARGB_8888来构造图片。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值