当前位置: 编程技术>移动开发
本页文章导读:
▪GridView使用相关有关问题 GridView使用相关问题
今天用GridView做9宫格发现如果没有设置android:columnWidth具体大小,恰巧设置了android:stretchMode="spacingWidth",GridView的item将不能显示出来。设置android:stretchMode="columnWidth",可.........
▪ 游戏发动机列表 游戏引擎列表
http://en.wikipedia.org/wiki/List_of_game_engines
......
▪ 工具种:用于监听Activity的创建和内存级回收情况,防止Activity Leaking 工具类:用于监听Activity的创建和内存级回收情况,防止Activity Leaking
import java.io.BufferedOutputStream;
import java.io.Closeable;
import java.io.FileOutputStream;
import java.io.IOException;
import java.lang.ref.PhantomReferen.........
[1]GridView使用相关有关问题
来源: 互联网 发布时间: 2014-02-18
GridView使用相关问题
今天用GridView做9宫格发现如果没有设置android:columnWidth具体大小,恰巧设置了android:stretchMode="spacingWidth",GridView的item将不能显示出来。设置android:stretchMode="columnWidth",可以不设置android:columnWidth具体大小,系统根据android:numColumns="3"自适应。
今天用GridView做9宫格发现如果没有设置android:columnWidth具体大小,恰巧设置了android:stretchMode="spacingWidth",GridView的item将不能显示出来。设置android:stretchMode="columnWidth",可以不设置android:columnWidth具体大小,系统根据android:numColumns="3"自适应。
[2] 游戏发动机列表
来源: 互联网 发布时间: 2014-02-18
游戏引擎列表
http://en.wikipedia.org/wiki/List_of_game_engines
[3] 工具种:用于监听Activity的创建和内存级回收情况,防止Activity Leaking
来源: 互联网 发布时间: 2014-02-18
工具类:用于监听Activity的创建和内存级回收情况,防止Activity Leaking
import java.io.BufferedOutputStream; import java.io.Closeable; import java.io.FileOutputStream; import java.io.IOException; import java.lang.ref.PhantomReference; import java.lang.ref.ReferenceQueue; import java.util.Date; import java.util.HashMap; import java.util.Map; import java.util.Timer; import java.util.TimerTask; import android.app.Activity; import android.content.Context; public final class ActivityMemoryMonitor { private final static ReferenceQueue<Activity> referenceQueue = new ReferenceQueue<Activity>(); private final static Map<PhantomReference<Activity>, String> phantomReferenceMap = new HashMap<PhantomReference<Activity>, String>(); private final static String logFile = "activity_memory_monitor.log"; private static Timer memoryMonitorTimer = null; public static void setActivityToMonitoringQueue(Activity activity) { String activityInfo = activity.toString() + "." + activity.hashCode(); phantomReferenceMap.put(new PhantomReference<Activity>(activity, referenceQueue), activityInfo); writeLogToFile(activity, "Activity Created: " + activityInfo); startMonitoringIfNeeded(activity.getApplicationContext()); } private static void startMonitoringIfNeeded(Context context) { if (memoryMonitorTimer != null) { return; } memoryMonitorTimer = new Timer(); memoryMonitorTimer.schedule(new MemoryMonitorTask(context), 0, 2000); } private static synchronized void writeLogToFile(Context context, String message) { FileOutputStream fos = null; BufferedOutputStream out = null; try { fos = context.openFileOutput(logFile, Context.MODE_APPEND); out = new BufferedOutputStream(fos); String log = new Date().toString() + " " + message + "\n"; out.write(log.getBytes()); } catch (IOException e) { } finally { close(out); close(fos); } } private static void close(Closeable c) { if (c == null) { return; } try { c.close(); } catch (IOException e) { } } private static class MemoryMonitorTask extends TimerTask { private Context context; MemoryMonitorTask(Context context) { this.context = context; } @Override public void run() { System.gc(); Object o = ActivityMemoryMonitor.referenceQueue.poll(); if (o != null) { writeLogToFile(context, "GC Cllected: " + phantomReferenceMap.get(o)); phantomReferenceMap.remove(o); } } } }
1 楼
zeroblue
2011-10-25
使用时只要在Activity的onCreate方法里写一句:ActivityMemoryMonitor.setActivityToMonitoringQueue(this);
日志会写到data/data/程序包名/files目录下
日志会写到data/data/程序包名/files目录下
最新技术文章: