原创 從JVM併發看CPU內存指令重排序(Memory Reordering)

這兩天,我拜讀了 Dennis Byrne 寫的一片博文?Memory Barriers and JVM Concurrency (中譯文?內存屏障與JVM併發)。 文中提到: 對主存的一次訪問一般花費硬件的數百次時鐘週期。處理器

原创 __bridge,__bridge_retained和__bridge_transfer的意思,區別與使用

使用ARC能幫我們減輕不少內存管理方面的負擔,尤其是對用慣了Java的程序員來說。但是像我這種Java基礎本身就不牢固,做了兩年的iOS已經習慣手動管理內存的半吊子,使用ARC還是經常碰壁。 最近碰到了CFObject和NSObjec

原创 iOS開發UI篇—CAlayer層的屬性

iOS開發UI篇—CAlayer層的屬性 一、position和anchorPoint 1.簡單介紹 CALayer有2個非常重要的屬性:position和anchorPoint @property CGPoint position; 用

原创 關於CALayer的學習筆記

    這篇博文寫的非常好,我就不重複造輪子了!http://www.cnblogs.com/wendingding/p/3800010.html 這裏只把重要的筆記記錄一下。 1、在ios中所有看的見摸得着的都是UIView,比如按鈕

原创 sharedpreference中putStringSet和getStringSet的問題

今兒發現了詭異bug,從api 11開始增加了這個方法 public abstract Set<String> getStringSet (Str

原创 java object的wait和Thread的sleep方法區別

一、這裏先來介紹下object的wait、notify和notify all方法 wait、notify和notifyAll方法是Object類的final native方法。所以這些方法不能被子類重寫,Object類是所有類的超類,因

原创 android中通用拒絕服務漏洞

該漏洞的描述見鏈接文章:http://www.cnxhacker.com/2015/01/07/5603.html 主要的原因是使用了Intent中getSerializableExtra() 的API,如果攻擊程序使用了app未定義

原创 反射調用android系統級API函數

try { Class<?> mClass = Class.forName("com.android.server.wifi.WifiSettingsStore"); Constructor con=mClass.getDec

原创 android.net.http.AndroidHttpClient Android6.0 API23以後失效

在android 6.0(API 23)中,Google已經移除了Apache HttpClient相關的類 推薦使用HttpUrlConnection,如果要繼續使用需要Apache HttpClient,需要在eclipse下libs

原创 android中的內存泄露查找與常見的內存泄露案例分析

常見的內存泄露查找方法請參見:http://hukai.me/android-performance-patterns/ 這篇文章是google發佈的android性能優化典範示例,對於渲染、內存GC與電量消耗都做了好的示範。 這裏我

原创 xxx.so has text relocations. This is wasting memory and is a security risk. Please fix

 最近使用jni編譯so文件,發現在android M中將之前一直視爲warning的text relocation升級爲了error ,直接導致system.load so文件的時候失敗。翻了網上各種資料,關於text relocati

原创 Android中創建Message兩種方法比較,new Message和obtainMessage

儘管Message的構造器是公開的,但是獲取Message對象的最好方法是調用Message.obtain()或者Handler.obtainMessage(), 這樣是從一個可回收對象池中獲取Message對象。 讓我們來看一下Mess

原创 android應用程序中對於ANR主線程超時不響應導致強制關閉的解決方案

ANR(Application Not Responding)定義 在Android上,如果你的應用程序有一段時間響應不夠靈敏,系統會向用戶顯示一個對話框,這個對話框稱作應用程序無響應(ANR:Application Not Resp

原创 【筆記,待修改】關於設計模式的總結

1、抽象工廠模式: 提供一個創建一系列相關或相互依賴對象的接口,而無需指定它們具體的類。比如我創建一個cache接口,要求實現序列化和反序列化方法。 2、橋接模式 將抽象部分與它的實現部分分離,使它們都可以獨立地變化。比如我發佈一個ai

原创 多個線程同時開始啓動計時框架的設計與實現

在DEMO測試中,我有個需求描述如下:線程A、B、C、D,我需要他們同時開始運行,並記錄這四個線程全部完成所需要的時間。 這個藉助synchronizer可輕鬆完成。這裏我們使用CountDownLatch來實現,該方法的詳細描述參見我