Android 程序员必须知道的 53 个知识点 1
android 单实例运行方法: 我们都知道 Android 平台没有任务管理器,而内部 App 维护者一个 Activity history stack 来实现窗口显示和销毁,对于常规从快捷方式运行来看都是 startActivity 可能会使用 FLAG_ACTIVITY_NEW_TASK 标记来打开一个新窗口,比如 Launcher,所以考虑单任务的实现方法比较简单,首先 Android123 纠正下大家一种错误的方法就是直接在 androidmanifest
xml 的 application 节点中加入 android:launchMode="singleInstance"这句,其实这样将不会起到任何作用,Apps 内部维护的历史栈作用于 Activity, 我们必须在 activity 节点中加入 android:launchMode="singleInstance" 这句才能保证单实例,当然一般均加在主程序启动窗口的 Activity
px 像素如何转为 dip 设备独立像素: 最近有网友问如何将 px 像素转为 dip 独立设备像素,由于 Android 的设备分辨率众多,目前主流的为 wvga,而很多老的设备为 hvga 甚至低端的 qvga,对于兼容性来说使用 dip 无非是比较方便的,由于他和分辨率无关和屏幕的密度大小有关,所以推举使用
px= (int) (dip*density+0
5f) //这里 android 开发网提示大家很多网友猎取 density(密度)的方法存在问题,从资源中猎取的是静态定义的,一般为 1
0 对于 HVGA 是正好的,而对于 wvga 这样的应该从 WindowsManager 中猎取,WVGA 为 1
5 这里可以再补充一下 dip,sip 的知识