原创 Android面向面試複習----Activity複習

Activity複習 Activity是我們學習Android的時候的第一個組件,它提供界面用戶可以進行滑動、點擊等交互。使用上很簡單,但是有一些相關的知識也許需要很好的掌握才能用好。 1. Activity生命週期 Activit

原创 Android“應用克隆”漏洞分析

一、這個漏洞的特徵 二、這個漏洞的攻擊流程 三、這個漏洞的攻擊原理 該漏洞主要利用了Android系統WebView控件的同源策略漏洞來進行攻擊,Android應用內部分可導出的Activity組件中,WebView允許通過file

原创 Android面向面試複習----Proguard混淆技術詳解

Proguard混淆技術詳解 1. Proguard是什麼? Proguard是一個壓縮、優化和混淆java字節碼的免費工具。 它有以下幾個作用: 壓縮(Shrink):檢測並移除代碼中無用的類、字段、方法和屬性。 優化(Opti

原创 Android面向面試複習---Android構建流程

Android構建流程 如果公司項目比較大,那麼持續集成就顯得很有必要。需要搭建持續集成的環境的話,Android項目的構建流程就有必要了解清楚了。 1. 首先,拿一張Android構建的詳細流程圖出來,然後我們再根據圖進行梳理。

原创 Android面向面試複習----AsyncTask詳解

AsyncTask詳解 1. 什麼是AsyncTask? 封裝了線程池和Handler,這個框架主要是用來執行異步任務的,內部集成了Handler,所以它可以很靈活的在UI線程和異步線程之間進行切換。 2. AsyncTask介紹

原创 Android面向面試複習----Handler詳解

Handler詳解 這篇文章緣起於一道面試題: Android面試題 請解釋下單線程模型中Message、Handler、MessageQueue、Looper之間的關係 雖然能夠大致說明白,但是自己對答案也不太滿意,翻一翻

原创 Android面向複習----通俗理解Android中的Gradle

Android面向複習—-通俗理解Android中的Gradle 1. Gradle是什麼? Gradle是一種構建工具,它可以幫你管理項目中的差異、依賴、編譯、打包、部署等。它並不是一種語言,不能實現軟件中的任何實際功能。 2. A

原创 Android面向面試複習---git版本控制

Android面向面試複習—git版本控制 1. 幾個概念說明 工作區 項目存放的文件夾就是工作區。因爲我們的所有的git操作都是在該區域進行的。 版本庫 工作區中的.git文件夾,裏面存放的是git倉庫相關的信息,它不屬於工作區

原创 小記Eclipse環境下JNI編譯DLL庫(圖文筆記)

此文比較簡單,主要記錄主要步驟而已。 起因:公司需要將原先客戶端的JNI邏輯搬到java上,給測試同事搞自動化測試環境。原來在Android上直接使用.so文件,現在需要生成.dll文件,由於沒搞過C/C++,所以,又進坑了!

原创 Android面向面試複習----冷啓動優化

冷啓動優化 1. 什麼是冷啓動 1. 冷啓動的定義 冷啓動就是在啓動應用前,系統中沒有該應用的任何進程信息。這時候啓動應用就叫冷啓動。 2. 冷啓動/熱啓動的區別 熱啓動:用戶使用返回鍵(Home鍵)退出應用,然後馬上又重新啓動應用

原创 Android面向面試複習----UI卡頓

UI卡頓 UI卡頓是輕量版的ANR 1、 UI卡頓的原理 1. **60fps --> 16ms**:1s內繪製60幀,所以每一幀的繪製時間在16ms 2. overdraw,大量重疊的佈局或者背景被重複繪製 2. UI卡頓原因分析

原创 Android面向面試複習----ANR

ANR面試解析 1.1 什麼是ANR Application Not Responding 換句話說,ANR是應用程序無響應的對話框,主要是在主線程中做了耗時操作導致的。 三種情況會導致ANR 5s內沒有響應用戶的輸入事件(按

原创 Android面向面試複習----內存管理

內存管理 1. 內存管理機制概述 1. 分配機制 操作系統會爲每個進程分配合理的內存大小,保證每一個進程能夠合理的運行,而不至於內存不夠用或者某個進程佔用太多的內存。 2. 回收機制 系統內存不足時,會有一個合理的回收再分配內存的機

原创 Android面向面試複習----Bitmap

Android中的Bitmap 1. recycle方法 該方法是系統提供的,可以用來回收bitmap佔用的堆內存以及native內存,同時清除該對象的引用。 該操作不可逆,如果調用了recycle(),再次加載圖片,則會拋出異常。所以

原创 Android面向面試複習----OOM異常

OOM異常 1. 什麼是OOM 當前佔用的內存加上app申請的內存資源超過了Dvlvik虛擬機的最大內存限制導致拋出Out of memory異常。 2. 一些容易混淆的概念 內存溢出/內存抖動、內存泄漏 - 內存溢出:out of