您的位置:首页 > 移动开发 > Android开发

Android学习中遇到的问题

2015-03-12 22:18 211 查看
1、在windows下eclipse中添加关联library时,如果工程的路径和库文件的路径不在同一个盘符下,会出现关联库文件失败的问题。

2、在使用android-support-v7.jar的时候,actionbar的showAsAction时应声明并在showAsAction前使用你所声明的xml命名空间。

3、使用Up Navigation来返回父级activity时,画面切换的动画效果显示又创建了一个Activity,而不是回到上一个Activity。要想回到上一个Activity,只要设置父activity的android:launchMode="singleTop"就OK了。

4、activity生命周期中,onPause()对应的pause阶段和onStop对应的stop的阶段的区别是:pause阶段,一,activity是部分可见,但不可交互,例如在此activity上打开一个未占据全屏的dialog,原activity将停留在pause阶段;而在stop阶段,原activity则完全不可见,常见的打开另外的普通activity,二,onPause()是在activity退出时立即调用的,而onStop()是在activity退出后,后面的activity执行完onResum()后才调用的,为了保证系统良好的用户响应,应该在onPause()不应执行时间长的操作,而应该在onStop()中执行,如释放资源。相同点:在pause和stop阶段,activity实例一直处于内存中,不用保存数据,返回到原activity任然可以恢复以前的状态。

Google手册:

通常,你不应该使用onPause()来保存用户改变的数据(例如填写表格中的个人信息到永久存储(Fi le或者DB)上。仅仅当你确认用户期待那些改变能够被自动保存的时候(例如正在撰写邮件草稿),你可以把那些数据存到永久存储。然而,你应该避免在onPause()时执行CPU-intensive的工作,例如写数据到DB,因为它会导致切换到下一个activity变得缓慢(你应该把那些heavy-load的工作放到onStop()去做)。如果你的activity实际上是要被Stop,那么你应该为了切换的顺畅而减少在OnPause()方法里面的工作量。当你的activity处于暂停状态,Activity实例是驻留在内存中的,并且在activity恢复的时候重新调用。你不需要在恢复到Resumed状态的一系列回调方法中重新初始化组件。

5、actionbar中overflow在带有菜单功能键的设备上强制显示。





在oncreate()中调用如下代码:

try{
ViewConfiguration config = ViewConfiguration.get(this);
Field menuKeyField = ViewConfiguration.class.getDeclaredField("sHasPermanentMenuKey");
if(menuKeyField != null) {
menuKeyField.setAccessible(true);
menuKeyField.setBoolean(config,false);
}
}catch(Exception e) {
e.printStackTrace();
}


出自:http://stackoverflow.com/questions/20444596/how-to-force-action-bar-overflow-icon-to-show
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: