当前位置: 编程技术>移动开发
本页文章导读:
▪获取屏幕下正在显示的activity 获取屏幕上正在显示的activity
用过ActivityManager的童鞋估计都知道,可以从ActivityManager里面可以获取到当前运行的所有任务,所有进程和所有服务,这是任务管理器的核心。
.........
▪ Bit地图s图片泄露有关问题 Bitmaps图片泄露问题
class ImageManager {
private HashMap<Integer, Bitmap> mBitmaps;
private HashMap<Integer, Drawable> mDrawables;
private boolean mActive = true;
public ImageManager() {
mBitmaps = new HashM.........
▪ RelativeLayout中惯用属性解释 RelativeLayout中常用属性解释
android:layout_above 将该控件的底部置于给定ID的控件之上
android:layout_below 将该空间的顶部置于给定ID的控件之下
android:layout_toLeftOf 将该控件的右边缘和给定ID的.........
[1]获取屏幕下正在显示的activity
来源: 互联网 发布时间: 2014-02-18
获取屏幕上正在显示的activity
用过ActivityManager的童鞋估计都知道,可以从ActivityManager里面可以获取到当前运行的所有任务,所有进程和所有服务,这是任务管理器的核心。
那么,从里面我们可以发掘点什么出来吗?
仔细看getRunningTasks的文档,里面说获取的是系统中"running"的所有task,"running"状态包括已经被系统冻结的task。而且返回的这个列表是按照顺序排列的,也就是说第一个肯定比第二个后运行。
getRunningTasks有个整型参数,表示返回列表的最大个数。那么,我们如果把1作为参数给进去,那么他返回的task就是当前运行的那个task,然后从task中获取到最顶层的activity,这个activity就是当前显示给用户的那个activity了。
ActivityManager am = (ActivityManager) getSystemService(ACTIVITY_SERVICE); ComponentName cn = am.getRunningTasks(1).get(0).topActivity; Log.d("", "pkg:"+cn.getPackageName()); Log.d("", "cls:"+cn.getClassName());
至于这个能做什么,嘿嘿,我相信你知道的。
1 楼
xjm236
2011-12-27
很实用
[2] Bit地图s图片泄露有关问题
来源: 互联网 发布时间: 2014-02-18
Bitmaps图片泄露问题
class ImageManager { private HashMap<Integer, Bitmap> mBitmaps; private HashMap<Integer, Drawable> mDrawables; private boolean mActive = true; public ImageManager() { mBitmaps = new HashMap<Integer, Bitmap>(); mDrawables = new HashMap<Integer, Drawable>(); } // We need to share and cache resources between objects to save on memory. public Bitmap getBitmap(int resource) { if (mActive) { if (!mBitmaps.containsKey(resource)) { mBitmaps.put(resource, BitmapFactory.decodeResource(MainActivity.getContext().getResources(), resource)); } return mBitmaps.get(resource); } return null; } public Drawable getDrawable(int resource) { if (mActive) { if (!mDrawables.containsKey(resource)) { mDrawables.put(resource, mGame.getView().getResources().getDrawable(resource)); } return mDrawables.get(resource); } return null; } public void recycleBitmaps() { Iterator itr = mBitmaps.entrySet().iterator(); while (itr.hasNext()) { Map.Entry e = (Map.Entry)itr.next(); ((Bitmap) e.getValue()).recycle(); } mBitmaps.clear(); } public ImageManager setActive(boolean b) { mActive = b; return this; } public boolean isActive() { return mActive; } }
http://blog.pseudoblue.com/2010/08/15/android-bitmaps-and-memory-leaks/
[3] RelativeLayout中惯用属性解释
来源: 互联网 发布时间: 2014-02-18
RelativeLayout中常用属性解释
android:layout_above 将该控件的底部置于给定ID的控件之上 android:layout_below 将该空间的顶部置于给定ID的控件之下 android:layout_toLeftOf 将该控件的右边缘和给定ID的控件的左边缘对齐 android:layout_toRightOf 将该控件的左边缘和给定ID的控件的右边缘对齐 android:layout_alignBaseLine 将该控件的baseline和给定ID的控件的baseline对齐 android:layout_alignBottom 将该控件的底部边缘与给定ID的控件的底部边缘对齐 android:layout_alignLeft 将该控件的左边缘与给定ID的控件的左边缘对齐 android:layout_alignRight 将该控件的右边缘与给定ID的控件的右边缘对齐 android:layout_alignTop 将该控件的顶部边缘与给定ID的控件的顶部边缘对齐 android:layout_alignParentBottom 如果该值为true,则将该控件的底部和父控件的底部对齐 android:layout_alignLeft 如果改值为true,则将该控件的左边与父控件的左边对齐 android:layout_alignRight 如果改值为true,则将该控件的右边与父控件的右边对齐 android:layout_alignParentTop 如果改值为true,则将该控件的顶部与父控件的顶部对齐 android:layout_centerHorizontal 如果该值为true,该控件将被置于水平方向的中央 android:layout_centerInParent 如果该值为true,该控件将被置于父控件水平方向和垂直方向的中央 android:layout_centerVertical 如果该值为true,该控件将被置于垂直方向的中央
最新技术文章: