Android Launcher分析和修改3——Launcher啟動和初始化
{ super.onCreate(savedInstanceState); //獲取Application 例項 LauncherApplication app = ((LauncherApplication)getApplication());
//LauncherModel類裡面獲取Launcher的物件引用 mModel = app.setLauncher(this);
//獲取IconCache,IconCache在Application裡面初始化
//這個是設定Launcher的跟蹤除錯檔案,下面很多資訊會寫到這個檔案裡面。 if (PROFILE_STARTUP)
{ android.os.Debug.startMethodTracing( Environment.getExternalStorageDirectory() + "/launcher"); } //讀取本地配置,儲存更新配置,清空IconCache
{ mAppsCustomizeContent.onPackagesUpdated(); } if (PROFILE_STARTUP)
{ android.os.Debug.stopMethodTracing(); } //載入啟動資料,所有介面資料(快捷方式、folder、widget、allApp)等在loader裡面載入,這部分後面我會詳細分析。 if (!mRestoring) { mModel.startLoader(this, true); } if (!mModel.isAllAppsLoaded())
{ ViewGroup appsCustomizeContentParent = (ViewGroup) mAppsCustomizeContent.getParent(); mInflater.inflate(R.layout.apps_customize_progressbar, appsCustomizeContentParent); } // For handling default keys mDefaultKeySsb = new SpannableStringBuilder(); Selection.setSelection(mDefaultKeySsb, 0); IntentFilter filter = new IntentFilter(Intent.ACTION_CLOSE_SYSTEM_DIALOGS); registerReceiver(mCloseSystemDialogsReceiver, filter);
//下面這幾個就是Android原生介面上的Market、搜尋、聲音輸入按鈕的預設圖示顯示。 boolean searchVisible = false; boolean voiceVisible = false; // If we have a saved version of these external icons, we load them up immediately int coi = getCurrentOrientationIndexForGlobalIcons(); if (sGlobalSearchIcon[coi] == null || sVoiceSearchIcon[coi] == null || sAppMarketIcon[coi] == null) { updateAppMarketIcon(); searchVisible = updateGlobalSearchIcon(); voiceVisible = updateVoiceSearchIcon(searchVisible); } if (sGlobalSearchIcon[coi] != null) { updateGlobalSearchIcon(sGlobalSearchIcon[coi]); searchVisible = true; } if (sVoiceSearchIcon[coi] != null)
{ updateVoiceSearchIcon(sVoiceSearchIcon[coi]); voiceVisible = true; } if (sAppMarketIcon[coi] != null)
{ updateAppMarketIcon(sAppMarketIcon[coi]); } mSearchDropTargetBar.onSearchPackagesChanged(searchVisible, voiceVisible); // On large interfaces, we want the screen to auto-rotate based on the current orientation if (LauncherApplication.isScreenLarge() || Build.TYPE.contentEquals("eng"))
{ setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED); } Log.i(TAG,"------------------------>Launcher init over") ; }
相關推薦
Android Launcher分析和修改3 Launcher啟動和初始化
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
Android Launcher分析和修改3——Launcher啟動和初始化
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //獲取Application 例項 La
Android Launcher分析和修改9——Launcher啟動APP流程
本來想分析AppsCustomizePagedView類,不過今天突然接到一個臨時任務。客戶反饋說機器介面的圖示很難點選啟動程式,經常點選了沒有反應,Boss說要優先解決這問題。沒辦法,只能看看是怎麼回事。今天分析一下Launcher啟動APP的過程。從使用者點選到程式啟動的流程,下面針對WorkSpac
Android Launcher分析和修改1——Launcher預設介面配置(default_workspace)
//Edited by mythou // //傳入default_workspace檔案的資源ID和資料庫實力,把xml裡面資料解析,儲存到Launcher資料庫。返回總共解析了多少個標籤。 private int loadFavorites(SQLiteDatabase db, int workspa
Android進階3:Activity原始碼分析(2) —— Activity啟動和銷燬流程(8.0)
上篇文章講述了app從啟動建立Activity呼叫onCreate,onStart, onResume方法,這篇文章講述一下Activity啟動的另一個切入點:startActivity方法,啟動Activity。 通過上一篇文章,我們總結一下: 1:A
android黑科技系列——修改鎖屏密碼和惡意鎖機樣本原理分析
無需 功能 log 輔助 數據庫文件 手勢密碼 安全網 樣式 進制 一、Android中加密算法 上一篇文章已經介紹了Android中系統鎖屏密碼算法原理,這裏在來總結說一下: 第一種:輸入密碼算法 將輸入的明文密碼+設備的salt值,然後操作MD5和SHA1之後在轉
樹莓派3 之 啟動 和 系統配置
sshd err date int pic imageview ras per c4c 在上一篇文章中系統已經燒寫到SD卡中了,接下來我們來啟動,啟動系統。為了方便操作,需要一個HDMI的顯示器,USB鼠標和鍵盤。啟動直接將SD卡放入樹莓派,通電就啟動了。不需要特殊配置就啟
Android PackageManagerService分析一:PMS的啟動
從這一章開始,我們來分析Android的PackageManagerService,後面簡稱PMS。PMS用來管理所有的package資訊,包括安裝、解除安裝、更新以及解析AndroidManifest.xml以組織相應的資料結構,這些資料結構將會被PMS、Activity
Android Input系統原始碼分析一(啟動與初始化)
一. Input系統的啟動Android Framework是由一系列的Service所構建起來的,其中與Input相關的主要是InputManagerService(IMS)。我們看看IMS的啟動流程。IMS是在SystemServer.startOtherService中
cmdb資產管理系統server端資產新增和修改(內存和網卡)
att 相關 all creat 對象 clas eat pad init 內存相關代碼 from repository import models class Memory(object): def __init__(self,server_obj,info)
第四課:Yarn和Map/Reduce配置啟動和原理講解
data 程序 jar sheet 編輯 datanode 示例 數據 說過 前三節課主要講了hdfs,hdfs就是一個分魚展的大硬盤 分:分塊 魚:冗余 展:動態擴展 接下來講雲計算,也可以理解為分布式計算,其設計原則: 移動計算,而不是移動數據 前面說過,hadoo
IIS 站點和應用池命令啟動和停止
exe start 程序 top system cycle style iis bsp 在CMD下執行如下命令: IIS站點: 停止站點: C:\Windows\System32\inetsrv\appcmd.exe stop site “XXXX” 啟動站點: C:\Wi
Netflix Eureka原始碼分析(7)——eureka client啟動環境初始化流程
eureka-examples,有一個類,ExampleEurekaClient,就是一個自帶的例子,如果是一個eureka服務,一定會有一個eureka client,服務例項啟動的時候,一定會啟動eureka client,eureka client去向eureka se
談談Delphi中的類和物件3---抽象類和它的例項
---恢復內容開始--- 四、抽象類和它的例項 Delphi中有一個類稱為是抽象類,你不能天真的直接為它建立一個例項,如 var StrLst: TString; begin StrLst:= TString.Create; StrLst.Add('I love
Enhancement point的開發和修改(除了出口和BADI的另外一種增強方式)
這種增強比較簡單理解和實現,而且在很多標準程式裡也會用到。 1、Enhancement point的開發: 下面這個例子是在一個普通的report裡面做增強: 插入一個增強點,有兩步: 插入之後
OEM dbconsole 和 isqlplus 服務的啟動和關閉
1.啟動oem dbconsole [[email protected] 10.2.0]$ emctl start dbconsole Oracle Enterprise Manager 10g Database Control Release 10.2.0.
SpringBoot啟動流程分析(一):SpringApplication類初始化過程
SpringBoot系列文章簡介 SpringBoot原始碼閱讀輔助篇: Spring IoC容器與應用上下文的設計與實現 SpringBoot啟動流程原始碼分析: SpringBoot啟動流程分析(一):SpringApplication類初始化過程 SpringBoot啟動流程分析(二)
SpringMVC原始碼分析3:DispatcherServlet的初始化與請求轉發
在我們第一次學Servlet程式設計,學java web的時候,還沒有那麼多框架。我們開發一個簡單的功能要做的事情很簡單,就是繼承HttpServlet,根據需要重寫一下doGet,doPost方法,跳轉到我們定義好的jsp頁面。Servlet類編寫完之後在web.xml裡註冊這個Servlet類。 除此之外
類變量和實例變量及其初始化
初始化 pos java 基本 定義 由於 調用 什麽 gpo 0.基本概念 類變量是指java類中的static數據成員,實例變量則是指java類中的非static數據成員。由於類變量不需要創建一個對象即可訪問,而實例變量則必須與一個具體的對象對應,因此類變量和實例變
監聽器-啟動會初始化表 學習筆記:
監聽器-啟動會初始化表 學習筆記:遇到問題: 數據庫連接問題;後面采用固定寫法: 解決問題 /**c3p0取得數據源*/ public static DataSource getDataSource() throws Exception { ComboPooledDataS