Android知识点:process属性、openOrCreateDatabase、URLEncoder.encode、垃圾回收、 缓存处理、断点续传

简介:

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,如需转载请自行联系原作者

目录
相关文章
|
Shell API Android开发
android queries属性
android queries属性
1291 2
|
11月前
|
Android开发 开发者
Android自定义View之不得不知道的文件attrs.xml(自定义属性)
本文详细介绍了如何通过自定义 `attrs.xml` 文件实现 Android 自定义 View 的属性配置。以一个包含 TextView 和 ImageView 的 DemoView 为例,讲解了如何使用自定义属性动态改变文字内容和控制图片显示隐藏。同时,通过设置布尔值和点击事件,实现了图片状态的切换功能。代码中展示了如何在构造函数中解析自定义属性,并通过方法 `setSetting0n` 和 `setbackeguang` 实现功能逻辑的优化与封装。此示例帮助开发者更好地理解自定义 View 的开发流程与 attrs.xml 的实际应用。
326 2
Android自定义View之不得不知道的文件attrs.xml(自定义属性)
|
存储 算法 安全
Java面试题:Java内存模型及相关知识点深度解析,Java虚拟机的内存结构及各部分作用,详解Java的垃圾回收机制,谈谈你对Java内存溢出(OutOfMemoryError)的理解?
Java面试题:Java内存模型及相关知识点深度解析,Java虚拟机的内存结构及各部分作用,详解Java的垃圾回收机制,谈谈你对Java内存溢出(OutOfMemoryError)的理解?
270 0
|
存储 缓存 JSON
vue2知识点:浏览器本地缓存
vue2知识点:浏览器本地缓存
227 2
|
Android开发
AutoX——当Android中clickable属性显示为false,实际可点击的布局如何处理
AutoX——当Android中clickable属性显示为false,实际可点击的布局如何处理
288 0
|
缓存 安全 Java
Android中的persistent属性
Android中的persistent属性
1171 2
|
Android开发
通过反射方式获取Android设备系统属性
通过反射方式获取Android设备系统属性 【5月更文挑战第1天】
401 2
|
Android开发 C++
Android 系统属性(SystemProperties)
Android 系统属性(SystemProperties)
1065 1
|
存储 并行计算 安全
Java面试题:Java内存管理、多线程与并发框架的面试题解析与知识点梳理,深入Java内存模型与垃圾回收机制,Java多线程机制与线程安全,Java并发工具包与框架的应用
Java面试题:Java内存管理、多线程与并发框架的面试题解析与知识点梳理,深入Java内存模型与垃圾回收机制,Java多线程机制与线程安全,Java并发工具包与框架的应用
558 0
|
缓存 编解码 安全
Android经典面试题之Glide的缓存大揭秘
Glide缓存机制包括内存和硬盘缓存。内存缓存使用弱引用的ActiveResources和LRU策略,硬盘缓存利用DiskLruCache。Engine.load方法首先尝试从内存和弱引用池加载,然后从LRU缓存中加载图片,增加引用计数并移出LRU。若缓存未命中,启动新任务或加入现有任务。内存大小根据设备内存动态计算,限制在0.4以下。DiskLruCache使用自定义读写锁,保证并发安全,写操作通过锁池管理,确保高效。
530 0