1.process属性:
在清单里为activity或者serveice配置process属性,可以指定在某一个包名的线程中执行,而不是当前的包名的线程。
1
|
android:process= "com.rongqin.test"
|
2.openOrCreateDatabase方法:
通过openOrCreateDatabase方法可以修改数据库存储路径。
1
|
SQLiteDatabase.openOrCreateDatabase(file, factory); |
参考资料:http://blog.csdn.net/wangqilin8888/article/details/7903048
3.解决url汉字乱码的方法:
URLEncoder.encode(String)方法是对url中的中文参数经行编码的,可以解决乱码的问题。
1
2
3
4
5
6
7
8
9
10
|
public class TestUrlEncode
{ public static void main(String[] args) {
String url = "http://www.xinboedu.com/" ;
String getParam = "?key1=阿斯顿" ;
String newUrl = URLEncoder.encode(getParam);
System.out.println(newUrl);
//打印结果:%3Fkey1%3D%E9%98%BF%E6%96%AF%E9%A1%BF
}
} |
4.flag_activity_new_task:
启动一个程序,可以主界面点击图标进入,也可以从一个程序中跳转过去(区别是根据activity在manifest里面的配置,这个activity可能会放在不同的task栈里面)。
如果intent设置了flag_activity_new_task,跟从图标启动进入的效果一样,即重建一个栈,否则就是把任务加到自己的栈中。
5.垃圾回收(GC:Gabage Collection)中如何彻底释放list容器对象:
1
2
3
4
5
6
7
|
private ArrayList<List> list = new ArrayList<List>();
public void onDestroy()
{ super .onDestroy();
list.clear(); //先清除list里的元素,清除对元素的引用
list = null ; //清除对list的引用
} |
6.缓存的优化处理:
1.可以优先考虑分页加载、图片压缩等
2.另外可以通过一二级缓存,在将bitmap对象加入到二级缓存里前,先通过bmp.recycle()方法在内存中释放掉
3.惰性加载
4.弱引用
1
2
3
4
5
6
|
public void ruo()
{ WeakReference<MediaPlayer> player = new WeakReference<MediaPlayer>( new MediaPlayer());
MediaPlayer mediaPlayer = player.get();
mediaPlayer.start();
} |
7.断点续传的原理:
1.append方法的运用
2.randomAccessFile(需要用到这个类,可以读取到文件字段里的任意位置)
3.下载的字节数,存到数据库里,在get或post请求服务端