您的位置:首页 > 移动开发 > Android开发

Android获得缩略图的代码注释

2015-06-19 15:17 447 查看
1.代码注释
privatestaticMethod getTaskThumbnails=null;
privatestaticField taskThumbnailsBitmap=null;

publicstaticBitmap getTaskThumbnailsBitmap(ActivityManager am,int id){
//实现同步
synchronized(refLock){
try{
if(getTaskThumbnails==null){
//通过Class类的getDeclaredMethod方法,获得getTaskThumbnails方法(反射)
getTaskThumbnails= am.getClass().getDeclaredMethod(
"getTaskThumbnails",int.class);
}
if(getTaskThumbnails!=null){
//通过invoke方法实际调用的是ActivityManager类中getTaskThumbnails函数,
//其中Integer.valueOf(id)为getTaskThumbnails函数需要的参数(反射)
Object thumbnails = getTaskThumbnails.invoke(am,
Integer.valueOf(id));
if(thumbnails!=null){
if(taskThumbnailsBitmap==null)
//得到mainThumbnail属性(成员变量Field)(反射)
taskThumbnailsBitmap= thumbnails.getClass()
.getField("mainThumbnail");
if(taskThumbnailsBitmap!=null){
//得到thumbnails对象的taskThumbnailsBitmap字段的值
return(Bitmap) taskThumbnailsBitmap
.get(thumbnails);
}
}
}
}catch(Exception e){
e.printStackTrace();
}
}
returnnull;
}
2.使用的一些方法
[code]    Class<?> getClass()
返回此 Object 的运行时类。
[code]    Method	getDeclaredMethod(String name, Class<?>... parameterTypes)
返回一个 Method 对象,该对象反映此 Class 对象所表示的类或接口的指定已声明方法。
[code] 	Object	invoke(Object obj, Object... args)
对带有指定参数的指定对象调用由此 Method 对象表示的底层方法。
[code] 	Field getField(String name)
返回一个 Field 对象,它反映此 Class 对象所表示的类或接口的指定公共成员字段。
[code] 	Object get(Object obj)
返回指定对象上此 Field 表示的字段的值。

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: