1.process属性:
在清单里为activity或者serveice配置process属性,可以指定在某一个包名的线程中执行,而不是当前的包名的线程。
android:process="com.rongqin.test"
2.openOrCreateDatabase方法:
通过openOrCreateDatabase方法可以修改数据库存储路径。
SQLiteDatabase.openOrCreateDatabase(file, factory);
参考资料:http://blog.csdn.net/wangqilin8888/article/details/7903048
3.解决url汉字乱码的方法:
URLEncoder.encode(String)方法是对url中的中文参数经行编码的,可以解决乱码的问题。
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容器对象:
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.弱引用
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请求服务端
转载于:https://blog.51cto.com/glblong/1248359