Q1. 默认情况用户按下Back键是不会销毁当前Activity的,Activity依旧存在于内存中,如果想要彻底kill掉这个程序可以在代码中做如下处理:
A1.
@Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { /* * If you want to kill the process. Or maybe you can alert a dialog to make user choose. */ finish(); } return super.onKeyDown(keyCode, event) } @Override protected void onDestroy() { System.exit(0); //Or. //android.os.Process.killProcess(android.os.Process.myPid()); }
Q2.android开发 drawable(hdpi,mdpi,ldpi)的区别
A2:
drawable- hdpi、drawable- mdpi、drawable-ldpi的区别:
(1)drawable-hdpi里面存放高分辨率的图片,如WVGA (480x800),FWVGA (480x854)
(2)drawable-mdpi里面存放中等分辨率的图片,如HVGA (320x480)
(3)drawable-ldpi里面存放低分辨率的图片,如QVGA (240x320)
系统会根据机器的分辨率来分别到这几个文件夹里面去找对应的图片。
Q3.build/core/base_rules.mk:128:*** frameworks/opt/emoji/jni:
.... libgl2jni already defined by framwworks/base/opengl/tests/gl2_jni/jni 停止
A3:
从编译规则上看:
# Make sure that this IS_HOST/CLASS/MODULE combination is unique. module_id := MODULE.$(if \ $(LOCAL_IS_HOST_MODULE),HOST,TARGET).$(LOCAL_MODULE_CLASS).$(LOCAL_MODULE) ifdef $(module_id) $(error $(LOCAL_PATH): $(module_id) already defined by $($(module_id))) endif
在framwworks/base/opengl/tests/gl2_jni/下面定义的android.mk定义了:
LOCAL_MODULE := libgl2jni include $(BUILD_SHARED_LIBRARY)
导致生成的动态库重复,这是不对的,修改tests这个目录不参与编译即可,最直接的办法删除掉framwworks/base/opengl/tests/gl2_jni这个文件夹
Q4. 4.0原生的android系统里,待机锁屏状态下,按menu键自动解锁功能。
A4
/frameworks/base/core/res/values/config.xml
中修改值false 可以使用menu键解锁,true不能解锁
<bool name="config_disableMenuKeyInLockScreen">true</bool>