Time of Update: 2016-06-11
標籤:綜述 在上篇文章中Android視圖的繪製流程(上)——View的測量對View的Measure過程進行了詳細的說明。對於在View的繪製的整個過程中,在對View的大小進行測量以後,便開始確定View的位置並且將其繪製到螢幕上。也就是View的Layout與Draw過程。那麼就來看一下是如何?這兩個過程的。View的Layout過程 上文提到View的繪製流程是從ViewRoot的performTraversals方法開始,那麼在View完成測量以後,在performTraversa
Time of Update: 2016-06-11
標籤:原文連結:http://www.myexception.cn/android/1904013.html啟動service儲存android系統log作為android開發工程師,出現了BUG是否苦於沒有log而苦惱萬分呢,以下敝人提供一套自動儲存log的方法,供大家借鑒學習:首先,在產品目錄的init.XXX.rc檔案中,添加相應的service,# start log service start logdon property:service.logcat.enable=1
Time of Update: 2016-06-11
標籤:append() 方法在被選元素的結尾插入內容。prepend() 方法在被選元素的開頭插入內容。 after() 方法在被選元素之後插入內容。before() 方法在被選元素之前插入內容。 1 <div class="testdiv"> 2 <ul> 3 <li>第一個li標籤</li> 4 </ul> 5 </div> 6 7 <script> 8 9
Time of Update: 2016-06-11
標籤:android對多個模組都要是要的UI邏輯的致辭除了fragment之外,沒有別的東西可以支援了,include,merge,viewstub只能支援公用的ui,但是這個通用支援不能包含邏輯(java代碼)的。1.使用include標籤 這個標籤只是啟動重複某個UI xml檔案的作用,android架構在解析的時候沒有什麼最佳化,唯一的作用就是起到方便管理的作用了。 當解析到 include 標籤的時候,就從它的layout屬性中拿出
Time of Update: 2016-06-11
標籤:在使用者使用app過程中,會產生各種各樣的事件iOS中的事件可以分為3大類型:觸摸事件、加速計事件、遠端控制事件在iOS中不是任何對象都能處理事件,只有繼承了UIResponder的對象才能接收並處理事件。我們稱之為“響應者對象”UIApplication、UIViewController、UIView都繼承自UIResponder,因此它們都是響應者對象,都能夠接收並處理事件 // 當手指開始觸摸view// NSArray,字典,NSSet(無序)-
Time of Update: 2016-06-12
標籤:前面部落格分析了導致app卡頓慢的直接原因,這裡就從原因出發,分析一些最佳化方案(這裡主要是從直接影響渲染機制的布局相關進行分析)1) Invalidations, Layouts, and Performance(動畫,布局的最佳化)順滑精妙的動畫是app設計裡面最重要的元素之一,這些動畫能夠顯著提升使用者體驗。下面會講解Android系統是如何處理UI組件的更新操作的。通常來說,Android需要把XML布局檔案轉換成GPU能夠識別並繪製的對象。
Time of Update: 2016-06-12
標籤:原文地址:http://android.xsoftlab.net/training/connect-devices-wirelessly/wifi-direct.html#permissionsWi-Fi peer-to-peer (P2P) APIs可以使程式與附近的裝置進行直接通訊,Android的Wi-Fi P2P架構由Wi-Fi Direct?提供支援人員。WI-FI
Time of Update: 2016-06-12
標籤:上一篇部落格:(流媒體實現視頻播放和下載功能):http://blog.csdn.net/qq_31810357/article/details/50574914最近ApsaraVideo for Live功能比較火,處於需求,研究了一番,根據分析決定使用流媒體實現,代碼簡單易懂,接下來看教程:每日更新關注:http://weibo.com/hanjunqiang 新浪微博簡單介紹:HLS 協議 : >5M會被AppStore拒絕 伺服器要求低
Time of Update: 2016-06-10
標籤:最近做一個app項目,後台我獨自一人開發,開發工作單位順序安排上沒有把登陸,註冊和許可權驗證這些準系統放在第一階段開發,現在是部分業務相關功能已經完成,但是使用者入口竟然還沒有,只能說明當初需求分析的時候還是太過於著急了,把最基本的使用者入口給放到後面了。現在就需要在現有代碼的基礎上添加使用者登入和許可權驗證功能。關於登入和許可權驗證方面,參照以前做iOS的開發經驗,App端提供使用者名稱和密碼換取token,每次通過換取的token請求需要登陸許可權的操作。現在反過來,我就需要考慮下面幾
Time of Update: 2016-06-12
標籤:Drawable天天用,可你是否對Drawable家族有一個完整的認知?今天我們就來系統的學習一下Drawable的使用。1.概述用過Drawable的筒子都知道Drawable有很多種,有的時候Drawable是一張圖片,有的時候Drawable是我們通過顏色構造出來的某種圖形。最常見的自己構造的Drawable圖形莫過於ShapeDrawable,我們在開發中可能經常需要自己繪製一個矩形、圓形、橢圓等等各種各樣的圖形。一般來說,Drawable並沒大小的概念(雖然可以通過getIntr
Time of Update: 2016-06-12
標籤:原文地址:http://android.xsoftlab.net/training/connect-devices-wirelessly/nsd-wifi-direct.html本階段的第一節課 Using Network Service Discovery 展示了如何搜尋本網服務。然而,使用WI-FI
Time of Update: 2016-06-10
標籤:1、引用計數什麼是引用計數、引用計數可以有效管理對象生命週期,它可以幫我們記錄一個對象有多少指標指向,進行很好的記憶體的管理!!例子:假設在一個辦公室裡面只有一個照明裝置,第一個上班進入的人把燈開啟,然後持續的進來咯兩個人,如果我們沒有記住現在在辦公室有多少人,而第一個人離開的時候把燈直接關掉,會導致另外兩個人沒有照明,進行不了工作!!所以引用計數就是把這些人都記錄下來,辦公室現在究竟還有多少人,如果有人在的時候依然照明,一直直到沒有人的時候才把燈關掉!!這樣可以當有人時候沒有照明的問題,
Time of Update: 2016-06-12
標籤:要在Windows下使用CEF開發,C++介面比較方便(libcef.dll匯出的是c介面的api),對應的靜態庫檔案是libcef_dll_wrapper.lib,但從cefbuilds.com下載的cef_binary中沒有帶這個庫,需要自己手動編譯。可惜cef_binary中也沒有libcef_dll_wrapper.lib對應的VS工程。不過有一個CMakeLists.txt,可以根據它來產生一個VS工程,兩步走即可完成。1.修改CMakeLists.txt以2526為例,找到ce
Time of Update: 2016-06-12
標籤:端午放假,天氣下雨,於是乎在家擼一下部落格,本篇部落格將為大家解析MVP模式在安卓中的應用。本文將從以下幾個方面對MVP模式進行講解:1. MVP簡介2. 為什麼使用MVP模式3. MVP模式執行個體4.
Time of Update: 2016-06-12
標籤:一、Otto簡單介紹OTTO是Square推出的庫,地址:https://github.com/square/otto先來看看otto的官方介紹An enhanced Guava-based event bus with emphasis on Android support.Otto is an event bus designed to decouple different parts of your application while still allowing them to
Time of Update: 2016-06-10
標籤:In this post I explain how to configure a socket.io node.js application to use of WebSockets when hosting it in IIS 8 using iisnode. This complements a recent post in which I showed how to host node.js WebSocket applications in IIS on
Time of Update: 2016-06-12
標籤:1. ARM彙編基礎在逆向一個功能的時候,往往需要分析大量的彙編代碼,在iOS逆向中,ARM彙編是必須掌握的語言,本文總結了ARM彙編的基礎知識,如果你想瞭解更多,請參考狗神的小黃書《iOS逆向逆向工程》或ARM官方手冊.1.1 寄存器,記憶體和棧 在ARM彙編裡,操作對象是寄存器,記憶體和棧 ARM的棧遵循先進後出,是滿遞減的,向下增長,也就是開口向下,新的變數被存到棧底的位置;越靠近棧底,記憶體位址越小 一個名為stackPointer的寄存器儲存棧的棧底地址,成為棧地址.
Time of Update: 2016-06-10
標籤:在iOS開發中,經常用到宏定義,或用const修飾一些資料類型,經常有開發人員不知怎麼正確使用,導致項目中亂用宏與const修飾你能區分下面的嗎?知道什麼時候用嗎?#define HSCoder @"漢斯哈哈哈"NSString *HSCoder = @"漢斯哈哈哈";extern NSString *HSCoder;extern const NSString *HSCoder;static const NSString *HSCoder = @"漢斯哈哈哈";const
Time of Update: 2016-06-10
標籤:目標:把中文字元繪製到目標矩形的置中位置。問題:Android的Canvas繪圖,drawText裡的origin是以baseline為基準的,直接以目標矩形的bottom傳進drawText,字元位置會偏下。這樣寫代碼: [java] view plain copy print?@Override public void onDraw (Canvas canvas) { &
Time of Update: 2016-06-09
標籤: 因為要用到記錄登入名稱,然後在各個介面之間進行使用,開始的時候,我們使用Intent進行介面之間的傳值,但是效果不是很好,在網上看到一個這樣的文章挺不錯,打算記錄過來。(轉載從http://blog.csdn.net/yuzhiboyi/article/details/7692698)