2014年3月14日 星期五

Android - px/pt/dp

px(pixel): 基於螢幕的實體像素。
也就是我們最常用的解析度,例如螢幕解析度 1024x768 就是長1024 px 及 768 px。

in(inches):英吋,物理長度。

pt(points):點數,1pt 代表 1/72 英吋。 常用在字型大小的表示。

dpi(dot per inch):在1英吋有幾個點。

dp, dip(Density-Independent Pixels):對應到在 160 dpi 的螢幕上的幾個像素,
你可以把它看成 1 dp = 1/160 in

sp(Scale Independent Pixels):跟 dip 一樣,加上 pt 的觀念。
簡單的說,就是對應在 160 dpi 的螢幕上的幾個 pt。
它會跟據使用者字型的大小而縮放。
主要處理字體大小,在 android 中,文字大小應使用 sp 而非 pt。

轉換公式如下:
sp = pt * dpi / 160
px = dp * dpi / 160

Android系統為求的在螢幕上的顯示有更好的效果, 建議使用dp.

2012年11月27日 星期二

如何過濾不要的log

在分析Android的device log時, 常常會有夾雜許多不需要分析的log, 提供一個方法將之過濾並轉存新檔, 以便縮小log檔並去除不必要的log.

grep -v "Pattern" log_file > target_file

透過這個命令, 將 "Pattern" 換成你要去除的Log pattern,
並指向來源的 log_file, 將結果輸出到 target_file.

完成, log file看起來清爽多了, 以易於分析囉.

2012年8月13日 星期一

grep 輸出到檔名

常用的方法是:
grep -inR "Exception" device_e000* > out.txt
                pattern          source                target

參數說明:
-i, --ignore-case         ignore case distinctions

-n, --line-number         print line number with output lines
      --line-buffered       flush output on every line

-R, -r, --recursive       equivalent to --directories=recurse
      --include=PATTERN     files that match PATTERN will be examined
      --exclude=PATTERN     files that match PATTERN will be skipped.
      --exclude-from=FILE   files that match PATTERN in FILE will be skipped.