1.eclipse突然变得非常的卡,而且经常卡死不动
原因:内存不足所以会卡死。
解决:配置一下eclipse.ini修改这几个值就好了
-XX:MaxPermSize=768m -Xms1024m -Xmx3072m 2.调用百度视频SDK出现问题 (1).报错: Caused by: android.content.res.Resources$NotFoundException: Resource ID #0x0 原因:引用的SDK的类BMediaController所指向的drawable资源文件没有导入 解决:导入drawable资源 (2).报错: D/AndroidRuntime( 5603): Shutting down VM E/AndroidRuntime( 5603): FATAL EXCEPTION: main E/AndroidRuntime( 5603): java.lang.UnsatisfiedLinkError: Couldn't load cyberplayer-core: findLibrary returned null 原因:无法定位加入的libcyberplayer-core.so和libcyberplayer.so 解决:在libs下新建一个armeabi-v7a,然后将libcyberplayer-core.so和libcyberplayer.so复制一份到该文件夹” 如果这个不行, 那么新建一个armeabi文件夹再放入libcyberplayer-core.so和libcyberplayer.so就可以了。 3.使用fragment懒加载 避免初始化大量资源 使用方法:布局文件添加<com.myface.view.SwipyRefreshLayout>如下<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/white" android:orientation="vertical" > <com.myface.view.SwipyRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/swipe_container" android:layout_width="match_parent" android:layout_height="match_parent" > <ListView android:id="@+id/VideoListView" android:layout_width="fill_parent" android:layout_height="wrap_content" > </ListView> </com.myface.view.SwipyRefreshLayout> </LinearLayout>
可以让我们的Fragment 直接继承LazyFragment 然后重写lazyLoad()方法实现懒加载
public class MyFaceChoiceFragment extends LazyFragment {
private View view;
private ListView listView;
// 标志位,标志已经初始化完成。
private boolean isPrepared;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
view = inflater.inflate(R.layout.fragment_myfaceclassroom, container, false);
isPrepared = true;
lazyLoad();
return view;
}
@Override
protected void lazyLoad() {
if (!isPrepared || !isVisible) {
return;
}
initView();
}
private void initView() {
listView = (ListView) view.findViewById(R.id.VideoListView);
}
}
import android.support.v4.app.Fragment;
public abstract class LazyFragment extends Fragment {
protected boolean isVisible;
/**
* 在这里实现Fragment数据的缓加载.
*
* @param isVisibleToUser
*/
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
if (getUserVisibleHint()) {
isVisible = true;
onVisible();
} else {
isVisible = false;
onInvisible();
}
}
protected void onVisible() {
lazyLoad();
}
protected abstract void lazyLoad();
protected void onInvisible() {
}
}
4.横竖屏切换
在Android中要让一个程序的界面不随手机方向转动而产生横竖屏切换的方法: 只要在AndroidManifest.xml里面配置就可以了。在AndroidManifest.xml的activity配置中加入android:screenOrientation=”landscape”属性即可(landscape是横向,portrait是纵向)。
需要注意的是,android中每次屏幕方向切换时都会重启Activity,所以我们应该在Activity被销毁前保存当前活动的状态,在Activity再次Create的时候载入配置,那样,进行中的游戏就不会自动重启了!要避免在转屏时重启activity,可以通过在androidmanifest.xml文件中重新定义方向,添加activity属性 android:configChanges=”keyboardHidden|orientation”即可。