標籤

2012年12月27日 星期四

Android Activity生命週期簡介

這個蠻重要的

Android Activity生命週期簡介

前面有提到何謂Activity: 最簡單的就是把Activity看成一個User Interface Program. 它會提供使用者一個互動式的介面功能. 當然一個activity通常不只一個UI, 所有的Activity在系統裏由Activity stack 所管理, 當一個新的Activity被執行後,它將會被放置到stack的最頂端,並且變成"running activity", 而之前的Activity原則上還是存在stack中,但不會是在foreground(前景)的情況.

一個Activity基本上有四個狀態 Active, Paused, Stopped, Dead:

Activity 處在Paused狀態時, 使用者無法與原來的 Activity 互動.


Dead/Inactive (已回收或未啟動)
Dead狀態是 Activity 尚未被啟動, 已經被手動終止, 或已經被系統回收的狀態.
要手動終止 Activity, 可以在程式中呼叫 finish 函式.
如果是被系統回收, 可能是因為記憶體不足, 系統根據記憶體不足時的回收規則, 將處於Stopped狀態的 Activity 所佔用的記憶體回收.


下面的流程圖說明一個Activity運行的情況, 長方形代表callback methods(回呼函式), 可以做出想要處理的事情, 有顏色的部份就是實際Activity會處於的狀態.






上圖有三個主要 lifetime :

1. Entire lifetime: 一個Activity的Entire lifetime是由onCreate()開始, 一直到onDestroy()結束.
一個Activity可以把所有的資源設定寫在onCreate中, 一直到onDestroy()時再釋放出來.

2. Visible lifetime: 一個Activity的Visible lifetime是指在onStart()到onStop()之間.
在這段時間內,使用者可以在螢幕上看見Activity, 要注意這個"Visible"是個形容, Activity不見得一定在foreground(前景)跟使用者直接互動.

3. Foreground lifetime: 一個Foreground lifetime 指 onResume() 到 onPause() 之間. 這個時期的Activity是在其他的Activity的前面, 且可以直接跟使用者進行互動. 所以這段時期指的就是圖中的Activity is running.


簡單的總結幾個動作:
onCreate()用來做程式的初使化動作;
onDestory()通常都拿來把onCreate()時的資料做釋放的動作;
onPause()時把需要保存的資料保存;
onResume()把保存的資料拿回來使用.


onCreate -> onStart -> onResume
啟動一個 Activity 的基本流程是: 分配資源給這個 Activity(onCreate), 然後將 Activity 內容顯示到螢幕上(onStart), 在一切就緒後, 取得螢幕的控制權(onResume), 使用者可以開始使用這個程式。

onPause(1) -> onCreate(2) -> onStart(2) - onResume(2) -> onStop(1)
先凍結原本的 Activity, 再交出直接存取螢幕能力(onPause )的過程. 直到 Activity 2 完成一般啟動流程後, Activity 1 才會被停止.

onPause(2) -> onRestart(1) -> onStart(1) -> onResume(1) -> onStop(2) -> onDestroy(2)
按 Back鍵可以回到原本的 Activity。

onPause -> onStop -> onDestroy
如果程式中有直接呼叫 finish 函式來關閉 Activity的話, 系統會暫停(Pause), 停止(Stop)然後銷毀(Destroy)。

onCreate -> onStart -> onResume
被回收掉的 Activity 一旦又重新被呼叫時,會像一般啟動一樣再次呼叫 Activity 的 onCreate 函式.

LEGO Education - Monkey

我兒子這次LEGO是做猴子, 原本只是嘴巴會動, 老師看他很早就完成了, 就出題目給他做, 就腳換成輪子, 哈~~~ 算是新體驗



2012年12月22日 星期六

搓湯圓

今天是吃湯圓的日子, 老婆想說就自己來DIY好了, 多了一份樂趣, 我家哥哥還把湯圓做成雪人形狀, 還問媽媽, 湯圓為什麼要做成圓形的... XD

將糯米粉加水

然後搓揉

揉好之後, 就開始搓湯圓

 哥哥很開心的做湯圓

有雪人, 美味蟹堡, 披薩等等


開始煮一部份湯圓

生的雪人

都煮好了, 熟的雪人是最前面最大的那一個

加到紅豆湯裏面



2012年12月17日 星期一

我兒子聽到世界未日時...

我兒子聽到12/21 世界未日, 反應蠻大的
My son heard that the end of the world on 12/21,  crying immediately XD





2012年12月16日 星期日

2012富邦台北馬拉松

又是一年一度路跑大盛會, 同樣今年也是很多人參與, 也踫到一位朋友 Scottie . 跑半程時, 由於人數過多, 無法按照自己的節奏, 外加跑步前, 右大腿外側一直酸痛, 還好現場有撒隆巴斯廠商, 提供噴藥服務, 前半段還好, 後半段又開始了, 途中有再噴藥, 但效果有限, 本身訓練不足再加上大腿酸痛, 半程跑3個小時 (哈~~~~), 跑完有種快掛的感覺, 明年再來虐待自己好了. 還有這次一根香蕉都沒吃到 > <, 太搶手了.

今年贊助廠商有 adidas, 這個盛會應該都不會錯過才對



啦啦隊1

啦啦隊2

 台積電去年也有參加盛會, 應該公司也有力挺吧

今年廁所好像變多了, 但人數太多, 還是要排一段時間, 還好起跑前解放完畢

進入起跑線

準備起跑嘍




半馬跟全馬要在這邊分開了, 分開之後, 就覺得半馬真多人

水~~水~~ 我要補給~~

大腿又痛了, 排隊等著噴肌樂

準備再上橋囉

折返點紀念一下

看到101就表示快到了

剩1公里, 只能咬牙繼續跑

終於看到終點, 感動吶


個人成績










2012年12月15日 星期六

烤箱烘焙-巧克力核桃海綿蛋糕

今天準備帶老婆跟小孩回娘家, 想說來做個什麼, 讓其它人試一下, 就決定做個巧克力核桃海綿蛋糕

材料們來個大合照

先將巧克力跟奶油一起溶化

大家都是好兄弟, 混在一起

然後把蛋打發

再將萊姆酒倒入打發好的蛋糊攪拌

 再將溶化好的巧克力+奶油倒入攪拌

再將麵粉倒入攪拌

再將碎核桃放入攪拌

 放入烤模 (沒有正式的方形烤模, 就先借用做蜂蜜蛋糕時的烤模)

烤好嘍


放涼之後, 來個切面照



份量:
1份 (20cm*20cm*5cm方型烤模)

材料:
牛奶巧克力塊180g (可以選擇自己喜歡的口味)
無鹽奶油 100g
雞蛋3個
細砂糖 40g
低筋麵粉110g
白蘭地 1t (我是用蘭姆酒)
核桃120g (分成70g 打碎與 50g)

我是使用我的烤箱 (Sharp AX-PX3) 180度烤個 40分鐘







2012年12月13日 星期四

HTC 優勢與弱點

優勢
  • 軟硬體整合研發, 實力堅強.
  • 產品創新增強.
  • 藉由大部份台灣零組件廠商, 垂直整合.
  • 與Apple 官司落幕 (如果HTC經營團隊沒有重大變化, 至少十年不會Apple扯後腿)

弱點
  • 所有研發牽制於人 (MS / Google / Qualcomm).
  • 本身硬體研發不足(這裏指的是硬體未來性相關研發), 並且受制於台灣零組件研發能力.
  • 量能不足, 造成成本下降困難 , 以致於利潤降低.
  • 人才培育趕不上公司成長.
  • 創新/坦誠文化還無法在公司內部深根. 
  • 在地化行銷需改進.
  • 消費者品牌黏著度還不夠.
  • 競爭者在後面急起直追 (中興/華為/小米)

HTC 未來的方向
  • 找出白地市場, 這蠻重要的, 這是HTC 的弱點, HTC 看起來目前大部份資源都投入在紅海, 尋找白地跟下一個藍海應該要著手進行才對?
  • 發展自己全方位的雲端, 這是蠻重要的, Google 一步一步進逼整合到自己的Android, 另外MS 對於合作廠商可變動部分, 目前並不是全部, 也只有少部份?
  • 人才培育是當務之急?
  • 如果HTC 要長遠發展, 至少把HTC 五大信念, 落實在公司文化, 不是只是喊口號就好, 也不是派人監督就好, 至少權責劃分/ 工作流程/ 員工價值觀要正確. 大家都等老闆怎麼做, 都怕做錯了被fire , 講白一點, 冒險精神都沒有, 太龜縮了.
  • 行銷需改善, 並且落實在地化? (這裏指的不只是廣告或贊助某活動而己, 是要打造自己獨特風格,  例如有些東西是HTC 才有, 或獨佔一段時間, 當然 Beats 也算是一種獨佔, 但HTC 量無法擴大, 誰能保證未來呢, Beats 也不是音樂界的唯一)

Samsung 優勢及弱點

優勢

  • 集合集團資源, 打造垂直整合的供應鍊, 手機成本有優勢
  • 硬體規格是強項, 己經有一定研發能力
  • 行銷在地化及積極 , 人員在地生根, 及整合集團資源行銷
  • 懂得利用社群強烈攻擊對手弱點及分化消費者
  • 吸取合作對象的優勢, 並且改良成為自己的競爭力
  • 藉由代工機會, 提高對手進入門檻.
  • 藉由國家力量, 成本/銷售取得比對手更優勢
  • 懂得邀請外人, 來改善自己本身不足的地方


弱點

  • 如果手機銷售利潤不佳, 會造成整個集團供應鍊危機出現.
  • 合作對象紛紛都跟其它對手合作, 造成零組件部份可能要靠集團本身產品銷售 (例如手機/電視/數位相機/ 個人電腦或其它消費性產品), 對於零組件部門有一定壓力 (例如晶片廠/面板/ DRAM/電池 等), 成本/利潤會是一個問題.
  • 集團對國家影響力太大, 可能會讓人民或該國其它公司反彈, 造成集團不穩定因素變大
  • 與Apple官司最終還是會落幕, 不論何時和解, 己經對集團造成傷害, Apple  雖然本身創新因子變弱, 但由於與Samsung 在 Android / WP 平台的對手和解 , 造成Samsung  的智慧型手機目前的市佔率持平或降低, 對於集團擴充太快有一定的警訊
  • 對於零組件對手急起直追, 造成大訂單客戶有第二選擇, 紛紛轉單效應, 對於零組件部門營收/利潤有一定的影響

Samsung 未來的方向
  • 切割零組件部門, 終端產品(品牌)及代工分開? 
  • 培養各個部門高階經理人?次要培育中低階經理人?
  • 加強軟硬體有效的創新?
  • 加強集團競爭力, 減少對國家的依靠?
  • 使用者對於品牌的黏著度? 雲端整合?
  • 整合集團各個消費性產品, 發展出Key features 的應用 , 例如電視 / 手機/ 數位相機/ 個人電腦/ 多媒體播放器 等, 成為 Home network 必備? 
  • 找出白地市場?

2012年12月12日 星期三

地球與個人關係

這是我自己做的 Slides , 主要是談論人在企業的定位及如何幫助企業永續, 然後透過企業對於地球的貢獻



烤箱烘焙- 核桃草莓醬蛋糕卷

昨天做了草莓醬, 今天就做個蛋糕捲搭配草莓醬, 再加上核桃跟一些果子, 還不錯吃, 草莓醬蠻濃郁, 哈~~~~

先把核桃烤熟

然後把砂糖混在一起, 然後再將植物油牛奶萊姆酒麵粉混入放入, 做好的麵糊放在一旁

開始做蛋白霜

蛋白霜打發好囉


將做好的蛋白霜, 先放一點到蛋糊

攪完的蛋糊+蛋白霜, 再倒入剩下的蛋白霜裏面

做好的麵糊, 放入烤盤

開始烤囉(這張大概烤7分鐘左右)

烤好了, 放涼

夾餡的主角登場囉


抺上草莓醬

再放入核桃跟一些乾果

然後捲起來, 放入冰箱

切面照 (怪怪的對吧, 因為我把低筋用到高筋, 哈~~~)


份量:
1份 (43cm*30cm) - 我的是30cm*30cm

材料:
麵糊
  • 蛋黃6個
  • 細砂糖20g
  • 橄欖油30g
  • 低筋麵粉 90g
  • 牛奶 50cc
  • 白蘭地 1T (我用萊姆酒)

蛋白霜
  • 蛋白6個
  • 檸檬汁1t
  • 細砂糖60g

夾餡 (這是我自己搭配的)
  • 核桃
  • 乾果
  • 草莓醬