APP開發

  • ,

    AIR記憶體監控工具 – Scout

    記憶體監控相關工具 Scout是一款針對用以監控記憶體狀態的程式,它不但可以監控電腦上面的swf的記憶體狀況,也可以監看使用air開發,運行在手機上的app的記憶體和gpu使用狀況。 在Scout之前,了解swf的記憶體使用狀況有幾個方式 內建的Profile功能 Profile可以監控現有的FLASH裡每一個CLASS占的記憶體比例,預設的設定會忽略AS內建的類別。如果要打開的話,可以選擇選單列裡的Window=>Preferences=>Flash Builder=>Profiler=>Exclusion Filter或是Inclusion Filters去排除或增加要觀察的class種類。 這個工具若是用按的方式執行,則只能針對FLEX本身的專案來做觀察。如果專案架構是外部的SWF檔案,則可以先切換到Profile工作模式(如圖:),然後選擇上方選單列的Profile=>Profile External Application=>New,去選擇要觀察的SWF檔案。 有關這個工具的介紹請見: Flex記憶體監控程式-Profile windows的工作管理員 監控執行緒的執行狀況,缺點是無法仔細的了解是那一個Class造成memory leak。 Hi-ReS-Stats  (https://github.com/mrdoob/Hi-ReS-Stats) 很常被見到的一個外掛程式碼,可以簡單的使用 來觀察FPS的運行速度、記憶體的使用狀況是否正常。嵌入後會在畫面上多出如下圖這樣的資訊欄位 Scout  (http://gaming.adobe.com/technologies/scout/) 最後就是今天要介紹的Adobe Scout工具,Adobe開發這個,主要是為了當開發者在使用Adobe AIR開發手機APP時,能夠更精準的掌握SWF運行的狀況以及GPU的狀況。因此Adobe官方便提供了這一項免費工具,讓APP開發者可以更仔細的監控效能的狀況。…

  • iOS 7 轉換指南

    參考資料:   iOS 7 UI Transition Guide、關於iOS7,設計師需要瞭解的十件事 PDF檔下載:  TransitionGuide IOS7的設計要點 依從:UI應要能很幫助使用者了解如何去操作、與內容互動,但不能搶走內容的鋒頭。它著重強調了怎樣使設計更好地支持內容,而不是反過來壓制內容。 清楚:字體在各種大小下都應清晰易讀,並應巧妙的利用圖示及裝飾,去突顯重點。 深度:巧妙運用手勢及視覺階層以利使用者了解、快速操作。 可以看看蘋果是怎樣在iOS7內置的日曆應用當中貫徹這一點的。新的日曆應用在界面上極大的簡化了,去除了一切不必要的設計元素,並使用了乾乾淨淨的白色背景,完全以內容為中心。 根據「依從」原則,apple建議開發者不要使用擬真。介面的設計應該是圍繞著內容而存在,不應奪走內容的光芒。因此,官方建議盡量避免使用3D質感的按鈕、漸變、光暈、陰影等擬物化的設計,因為他們認為這樣的設計會奪去使用者對內容的焦點。但雖然圖示要輕量化,最小點擊區域44px的規則依然不變,因為用戶不能點擊小於44px的界面元素。 關於移除擬物化風格的設計方式,可以參考iOS7內置的Game Center、日曆和Podcast應用。 另外,關於深度,iOS7最吸引人的設計之一就是系統界面當中由加速計驅動的3D效果。隨著設備在物理空間當中的移動,圖標與背景圖片會展示出視差效應。這是iOS7三大設計主題當中的第三點的典型示例: 深度:視覺外觀的層次以及逼真的動畫效果可以傳達出界面的活力,使界面更容易被理解,並提升用戶的愉悅度。 自然,蘋果也希望應用設計師們採用相同的方式,通過半透明及動畫效果來展示界面和元素之間的層級關係。這是應用設計理念的一次重大飛躍,而且隨著iOS7的發布和普及,這些效果很快就會成為用戶期望當中的一部分。 在iOS7設計規範當中,蘋果建議,在iOS7框架下重新設計應用的最佳方式,就是剝離你已有的界面,將應用的核心功能呈現出來,重新確認它們之間的相關性。 一旦你確認好功能方面的核心要素,就需要通過iOS7的設計主題將界面和交互模式重新構建起來。舉個簡單的例子,蘋果的指南針應用採用了最小化和功能優先的設計方式,通過重新設計過的、更注重細節的形式來展示關鍵信息。 iOS7的應用界面通過大量的呼吸空間來確保可讀性和易用性。在官方的設計規範中,蘋果明確指出,他們希望設計師們通過留白傳達出平靜和穩定的感覺,使應用看上去更加專注和高效。 檢視現在的APP 在升級APP至iOS7之前,先檢查幾個項目:…

  • Flat Design 座談會筆記

    講師介紹 Amy Megumi Kuo http://happyux.hpx.tw/conf/ch/ux-usa-tibco-amy-kuo/ 從政大畢業之後就到美國工作。原本是在做汽車面版設計,後來轉到手機和軟體的介面設計。 因為開發裝置的不同,在開發限制上會有所不同。 例如汽車的裝置在設計上,由於許多的按鍵仍然會是實體按鍵,但是手機與軟體則是完全要設計在畫面上。 會造成在設計方針上很大的不同 Flat design 的基本原則 首先要先介紹Flat這個詞 flat (N) 平面 skeuomorphism 擬真,在過去而言,對user來說還不熟悉,所以會用擬真的設計,希望讓使用者第一次接觸就知道如何使用。 flat design較有名的是microsoft和apple還有google。 在這邊比較了一下google的設計與ios的設計上的差異 google的原則 icon盡量簡單 每個icon都需面向前面,不可有角度 陰影簡單且同光源方向(左上)…

  • IOS6與IOS7的不同處整理

    1. View會和狀態列重疊(壓在其之下) 2. 按鈕沒有邊框 3. tab bar變為半透明 4. 狀態列的顏色不會與導覽列分開 5. tintColor的影響顏色範圍改變,導覽列與tab bar的顏色不會受到tint Color的影響 ps:經測試,在ios7對於Segmented Control的tintColor,如果使用Global tint,一開始時的框線顏色不會變,但點過後顏色會改變。此時必須去各別設定該元件的tint color才會完整變更顏色 6. tab bar的圖示有按下狀態及非按下狀態 7. 文字樣式明顯不同(即使是相同的設定) 8. 預設會是全螢幕畫面 9.…

  • UIWebView練習作業

    作業目標:http://www.youtube.com/watch?v=azplcMbuoQ4&feature=youtu.be 練習檔案:homework0831 先介紹一下UIWebView UIWebView的資料來源主要有三者: 本機上的HTML字串 本機上的資料 + MIME type 遠端的URL 這邊有中文的介紹:http://www.inside.com.tw/2010/03/14/cs193p-lecture-12 作業練習開始 首先我先拉出storyboard 然後我練習使用程式去產生UINavigationController,這是在AppDelegate.m裡 然後ViewController.h裡在viewDidLoad時初始化一些頁面數值 實作按鈕按下時的動作 接下來做WebViewController.m裡的內容, 在這邊我弄了一個下載進度的物件叫作UIActivityIndicatorView 這部份首先要先在- (void)viewDidLoad裡初始化載入效果 然後加上下面兩段程式碼 然後在實做UIWebView的Delegate去設定載入畫面 [UIApplication sharedApplication].networkActivityIndicatorVisible這個是在上方指示列的圈圈圖示 遇到問題(高手幫忙看3Q)…

  • 我的第一款APP企劃

    畫面繪製工具: Balsamiq Mockups 參考規範: iPhone-HIG(人機界面指南) 企劃圖片下載: APP開發 名稱:94愛吃 類別:生產力應用程式 分類:美食 簡介: 想揪三五好友去吃某間超好吃的餐廳時,卻總是忘了餐廳的詳細資訊嗎? 想找一間適合談公事的餐廳,卻又一時想不起究竟那裡適合嗎? 這一款APP可以幫助你記錄曾吃過的餐廳,以及想吃卻還未去吃的餐廳。 也可以以地圖的方式,去告訴你這附近有那些你吃過的餐廳可以去吃。更能提供你最新、最酷的焦點餐廳情報。 如果你是美食愛好者,那不能錯過這一款APP唷! 畫面截圖 因為是第一款APP,不知道這樣會不會觸犯到APP的上架條款 應用程式涉及了裸體、暴力、中傷他人 違反商標法 功能過於簡單或與iOS內建功能動覆 使用未開放的API 應用程式Bug、當機且無任何警告訊息 違反HIG(Human Interface…

  • IPhone元件介紹

    表格視圖,文字視圖和Web視圖 狀態欄:狀態欄顯示與使用者裝置相關的重要資訊,包括電話信號強度,當前網路連接和電量資訊。 導覽欄:導覽欄位於應用程式螢幕的上邊緣,在狀態欄之下。導覽欄通常會顯示當前視圖的標題,包含導覽控制元件,並在適當的情況下也可以包含作用於視圖內容的控制元件。 工具欄:如果您的應用程式為使用者提供了一系列可在當前上下文中執行的動作,那麼您可以為使用者提供一個工具欄。工具欄的外觀要力爭與應用程式中的其它欄目的外觀保持一致。例如,如果您使用半透明的工具欄,就不要將它與不透明的導覽欄一起使用。此外,請避免在同一方向的不同螢幕中改變工具欄的顏色或半透明效果。 標籤欄:標籤欄使使用能夠在應用程式的不同模式或不同視圖之間進行轉換,並且使用者應該能夠從應用程式的任何地方進入這些模式。 在應用程式螢幕中使用視圖和控制元件 表格視圖:裡面包含許多元素,並可以使用表格視圖實現常用的使用者操作。如:選項列表;導覽層次資訊;查看按概念分組的資訊 有幾個表格操作元素: 展開指示符:當這個元素出現時,使用者知道他們可以點選這一行中的任意位置來查看下一級的資訊,或是與當前列表項相關的選項。 當選中一行後會顯示另一個列表時,應使用展開指示符。不要使用展開指示符來顯示某個列表項的詳細資訊;這種情況下應使用詳細資訊展開按鈕。 詳細資訊展開按鈕:使用者可以通過點選該元素來查看某個列表項的詳細資訊。在表格視圖中,可以在某一行中使用詳細資訊展開按鈕,來顯示與該列表項相關的詳細資訊。請注意,與展開指示符不同,詳細資訊展開按鈕所執行的動作可以獨立於行的選擇動作。 刪除按鈕:使用者通過點選該元素可以刪除對應的列表項。 刪除控制按鈕:使用者通過點選該元素可以顯示或隱藏每個列表項的“刪除”按鈕。 行插入按鈕:使用者通過點選該元素可以向列表中新增一行。 行排序控制元件:當該元素出現時,使用者可以拖動一行到列表中的另一位置上。 選定符號:該元素出現在列表項的右側,表明該項當前被選中。 開關控制元件 文字視圖 Web視圖:Web視圖是應用程式螢幕上可以顯示豐富的HTML內容的一片區域。除了顯示web內容之外,web視圖還提供了一些元素來支援使用者瀏覽開放的網頁。雖然您可以選擇向使用提供網頁瀏覽功能,但是最好避免讓您建立的應用程式看起來像是一個小型web瀏覽器。 應用程式控制元件 活動指示器:活動指示器表示有一項持續時間未知的任務或過程正在進行當中。(請參考UIActivityIndicatorView類) 日期時間選擇器:日期時間選擇器為使用提供了一種簡單的選擇特定日期或時間的方式。(請參考UIDatePicker類) 詳細資訊展開按鈕:詳細資訊展開按鈕提供了關於某一項的額外資訊或更詳細的資訊。(參考UIButton類) 資訊按鈕(參考UIButton類) 標籤:標籤是一種大小可變的靜態文字。(參考UILabel類)…

  • IPhone人機界面指南(HIG)

    中文版下載:iPhone-HIG(人機界面指南) 英文版下載:MobileHIG HIG(人機界面指南)是apple在審核app時,給開發者去參考的條文, 只要想要在ios平台上開發app的開發者,在上架時,都必需同意自己的應用程式符合裡面的規範。 這也是app開發者在開發完APP後,常常會被apple退件的原因。 因此建議有志要開發iphone app的人可以在開發前先研讀一下這本規範手冊。 HIG將應用程式分類成三大類型 生產力應用程式:幫忙使用者管理資訊及完成工作。資訊是階層架構的,可以透過向下深入更多層級而瀏覽更多資訊。 效率型應用程式一般採用多個視圖,通常每一視圖顯示一個層次的資訊。使用介面通常簡單,整潔且由標準視圖和控制元件組成。效率型應用程式通常沒有很多自定義介面。原因在於效率型應用程式專注於資訊和任務,而非環境或體驗。 融入式應用程式:遊戲是典型的例子,這種應用程式使用非常客製化的介面,讓使用者與裝置互動,HIG對這種應用程式的規範比較不那麼嚴格。 使用者的焦點在於視覺上的內容和體驗,而非體驗背後的數據。 工具應用程式:透過盡可能少的互動與組態設定提供使用者特定的資訊。這種APP通常比生產力應用程式有更多的介面且更加被要求要符合HIG規範。 實用型應用程式俱有視覺上的吸引力,但是又能夠突出它們顯示的資訊。使用者使用實用型應用程式來查看一些事情的狀態或是查找一些東西,所以使用者希望能夠快速方便地看到他們感興趣的資訊。因此,實用型應用程式的使用者介面十分簡潔,並提供簡單的,標準的視圖和控制元件。 實用型應用程式一般以平面列表的方式顯示資訊;使用者通常不需要深入資訊層次結構。實用型應用程式中的每一個視圖通常都提供同樣的數據組織結構和細節深度,但是數據來源可以不同。由此,使用者可以打開單個實用型應用程式以對多個主題進行相似處理。一些實用型應用程式能顯示打開的視圖的數量;由此使用者可以按順序瀏覽,在一個視圖後選擇另一個視圖。(例如下圖使用者可以用上一層的設定界面讓下一層的天氣資料顯示不同地區的資訊) 開發APP時要注意的點 畫面比電腦小很多:應考量將複雜的畫面簡化 記憶體有限:因為ios的記憶體不包括磁碟交換空間,所以在app開發時要注意不能同時使用太高的記憶體,ios在記憶體不足時,也是會從耗記憶體最高的app開始關閉。 每次只能顯示一個視窗:不能同時瀏覽多個視窗,只可以依序瀏覽。 同一時間只能運行一個程式:因為當接電話、切到另一個應用程式等,現有的應用程式將被關閉。應要注意在使用者離開再回來時的畫面順暢度。 簡單易懂的操作說明  人機介面準則  當使用者操作螢幕上的對象時,這些對象保持可見,並且操作結果是一目了然的。 讓使用者做出選擇,而不是要求他們進行開放式的輸入,這樣能夠讓使用者能夠集中精力通過您的程式完成任務,而不是疲於記憶如何操作。 如果有一個動作,使用者需要長時間的等待,應該回饋一個音效或圖案。在完成資料下載時,也應讓使用者知道動作已完成。應隨時回饋使用者,讓他能了解現在系統正在做什麼。…

  • UIViewController切換、Notification、Delegate及繪圖練習

    練習目標:http://www.youtube.com/watch?v=xiHBN2B1Vt4&list=UUPRP4bs_BNpx6XWI5Wm7O5g 老師範例:DrawSomething 我的作品:homework0810 在這個範例中,我使用了兩個viewController,去控制兩個頁面的畫面。 第一個用來顯示動畫的地方的viewController如下, 在這個頁面上除了球之外,還會有一個控制開關的鈕,當打開時代表不去管路徑如何直接讓球到圓點, 而關閉則會讓球一步步照著所繪的路線移動。 #import “ViewController.h” @interface ViewController () @property (weak, nonatomic) IBOutlet UISwitch *straightSwitch; @property (weak, nonatomic) IBOutlet UIImageView *myBall; @end…

  • , ,

    提升Flash效能的幾個注意事項

    本文為看這篇文章之後的重點整理: http://www.adobe.com/devnet/flash/articles/efficiency-tips.html 這篇文章同時會對Flash開發程式師、動畫及美術有幫助。 提升效能 關掉沒有用到的物件的互動功能: 減少畫面中active的物件能有效的增加效能,下面這段CODE可以關閉掉MovieClip和其他物件的所有互動關係。 mouseEnabled = false; mouseChildren = false; 如果仍要與其他的元件做互動則使用mouseChildren = false;就好。 判斷何時該用點陣圖(Bitmap)何時該用形狀(Shape): 使用Bitmap:當今天圖片有許多漸層、複雜圖案、顏色很多時,用Bitmap較好。 使用Shape:當今天的圖片是大塊色塊組成,感覺不利於縮放、但卻不需要縮放時,則使用Shape。(點陣圖按CTRL+B) 將線段轉成色塊:線段所需要耗用的效能較多,因此可將不必要的線段轉換為填色。(在修改>形狀>將線段轉換成填色) 避免使用虛線或點線,因為此種線段很耗費效能。 避免使用圓角,圓角比起直角的處理上耗效能。 避免圖像的坐標坐落位置帶有小數點,因為小數點的運算比起整數會耗費更多效能。 向量圖形最佳化 減少圖形中的節點(按修改>圖像>最佳化),或使用平滑工具來減少節點。 避免使用漸層:漸層是非常耗效能的,若是必需要使用漸層,可在完成後,將其轉為Bitmap格式,或者以純色去取代。…


17年資歷女工程師,專精於動畫、影像辨識以及即時串流程式開發。經常組織活動,邀請優秀的女性分享她們的技術專長,並在眾多場合分享自己的技術知識,也活躍於非營利組織,辦理活動來支持特殊兒及其家庭。期待用技術改變世界。