當 Navigation 設定成 Translucent mode 時
snackbar 會跟 navigation bar 重疊
不知道為啥 Google 設計 design library 時沒考慮到這件事
要顯示 snackbar 時,改動 layout parameter
當 Navigation 設定成 Translucent mode 時
snackbar 會跟 navigation bar 重疊
不知道為啥 Google 設計 design library 時沒考慮到這件事
要顯示 snackbar 時,改動 layout parameter
昨天為了讓 Xcode 升到最新版
終於讓 2011" MBA 去升 Yosemite
系統變慢是正常的
Android Studio 結束後有 java zombie process
而且整個記憶體吃很兇
不過最讓我無法忍受的是 Android Studio 的字型變得超醜
搞了半天原來是 Java 7/8 的問題 依據官方的網頁
他裡面有寫要 export STUDIO_JDK
不過我試的結果是直接裝完 java 6 他就會自動去吃了
Apple Java 6 link
用了 Java 6 後
Android Studio 的速度跟吃 RAM 都變正常一點了
結論
PS.
Google Photos: http://photos.google.com/
Google+ Photos: https://plus.google.com/photos/ 會被導向,要按返回
今天看到有人在討論的工具 library
如他的名字, 他是拿來試毒氣的金絲雀
主要是把 MAT (Memory Analyzer) 做進去 application level
dependencies {
debugCompile 'com.squareup.leakcanary:leakcanary-android:1.3'
releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.3'
}
PS. 我的 build.gradle 一直少加了
repositories {
mavenCentral()
}
結果 dependencies 一直出問題
加了後,他會自己去抓 library 了
public class ExampleApplication extends Application {
@Override public void onCreate() {
super.onCreate();
LeakCanary.install(this);
}
}
他埋了一個 Activity Watch 在 Application level
所以當你的 Activity finish() 了, 一但 Activity 沒有被正確回收
他就在背景做 heap dump
利用 Eclipse 的 MAT(Memory Analyzer) 去分析是誰 block 住
activity 這個 reference 是誰造成 memory leak
然後他會在 notification dump 出 memory leak 的結果
拉下來點開就有一個分析的畫面跟你說哪邊 memory leak
可以隨時利用他
refWatcher = LeakCanary.install(this);
寫個 getter 把 refWatcher export 出來
RefWatcher refWatcher = ExampleApplication.getRefWatcher(getActivity());
然後監控你要的變數
refWatcher.watch(schrodingerCat);
薛丁格的貓 被 clear 掉,卻沒有正常被 gc 掉的話
就會觸發 notification
另外因為 heap dump 需要幾秒鐘
所以會等一下才跑出來
2015 年賞櫻計畫
猶豫不決,龜龜毛毛
結果機票有點貴
不過後來還是花錢買了
3/28~4/9 關西機場進,成田機場出
很自虐的夜巴到東京
看這行程能成功多少
Put this into ~/.gradle/gradle.properties
RELEASE_STORE_FILE={path to your keystore}
RELEASE_STORE_PASSWORD=*****
RELEASE_KEY_ALIAS=*****
RELEASE_KEY_PASSWORD=*****
注意!RELEASE_STORE_FILE 的路徑要是絕對路徑 Android Studio 很笨的會把 ~/.... 串起來, 然後找不到
signingConfigs {
release {
storeFile file(RELEASE_STORE_FILE)
storePassword RELEASE_STORE_PASSWORD
keyAlias RELEASE_KEY_ALIAS
keyPassword RELEASE_KEY_PASSWORD
}
}
buildTypes {
release {
signingConfig signingConfigs.release
}
}
ref: StackOverflow
解決了一個困擾我三個月的事...
gradle 可以把 src code 分成不同的目錄
然後可以用 build variants 分別去要不要 include 這個東西
android.sourceSets.main {}
android.sourceSets.XXX {}
因為我們現在開發只會用到 XXX
main 也被污染了, 一定要用到 XXX 裡的 code
每次 import project 時,我的 Mac 總是會選到 XXX 的 build variants
所以我的 Android Studio 可以 build 出來
用指令 gradle build 也是正常...
可是其它人的 Windows 總是會選到 main 的那個 build variants
所以他們總是 build 不過
(不過我重灌後的 Windows 上竟然可以!?)
只能改 gradle 把 XXX 裡的目錄加到 main 裡
可是這樣 Project view 時沒辦法把 src set 切開看,很醜
... 反正結論就是 UI 上把 build variant 選成 XXXDebug 就好了
害我為了要看不同 src set local 的 gradle 檔要跟別人不一樣
(只有我用 Mac)
今天為啥會解決這件事呢...
因為我的 Android Studio project 突然爛了
重 import source set 竟然跑回 main 了
而且怎弄都是這樣
才又把 windows 上的 iml 檔拿來 diff
靈機一動想到這回事
原來只是我運氣好(!?) ... -___-
這鳥東西竟然困擾我三個月
幹!
太蠢了,寫起來記錄