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请求服务端
本文转自 glblong 51CTO博客,原文链接:http://blog.51cto.com/glblong/1248359,如需转载请自行联系原作者