在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            Android 框架簡(jiǎn)介

            作者: 時(shí)間:2016-09-12 來(lái)源:網(wǎng)絡(luò) 收藏

            ======================= 第一節(jié) ===========================

            本文引用地址:http://www.biyoush.com/article/201609/303971.htm

            這里簡(jiǎn)單的介紹了的java環(huán)境基礎(chǔ),在后面一節(jié)中會(huì)結(jié)合具體的實(shí)例來(lái)理解這一節(jié)的內(nèi)容。

            一、Dalvik虛擬機(jī)

            Dalvik是的程序的java虛擬機(jī),代碼在dalvik/下,

            ./

            |-- .mk

            |-- CleanSpec.mk

            |-- MODULE_LICENSE_APACHE2

            |-- NOTICE

            |-- README.txt

            |-- dalvikvm 虛擬機(jī)的實(shí)現(xiàn)庫(kù)

            |-- dexdump

            |-- dexlist

            |-- dexopt

            |-- docs

            |-- dvz

            |-- dx

            |-- hit

            |-- libcore

            |-- libcore-disabled

            |-- libdex

            |-- libnativehelper 使用JNI調(diào)用本地代碼時(shí)用到這個(gè)庫(kù)

            |-- run-core-tests.sh

            |-- tests

            |-- tools

            `-- vm

            二、Android的java框架

            Android層次中第3層是java框架,第四層就是java應(yīng)用程序。

            Android的java類代碼,主要是在frameworks/base/core/java/下,

            ./

            |-- Android

            |-- com

            |-- jarjar-rules.txt

            `-- overview.html

            我們?cè)倏匆幌耭rameworks/base/目錄

            ./

            |-- Android.mk

            |-- CleanSpec.mk

            |-- MODULE_LICENSE_APACHE2

            |-- NOTICE

            |-- api

            |-- awt

            |-- build

            |-- camera

            |-- cmds

            |-- common

            |-- core

            |-- data

            |-- docs

            |-- graphics

            |-- include

            |-- keystore

            |-- libs

            |-- location

            |-- media

            |-- native

            |-- obex

            |-- opengl

            |-- packages

            |-- preloaded-classes

            |-- sax

            |-- services

            |-- telephony

            |-- test-runner

            |-- tests

            |-- tools

            |-- vpn

            `-- wifi

            這里也有Android的java框架代碼。

            三、JNI

            在Android中,通過(guò)JNI,java可以調(diào)用C寫的代碼,主要的實(shí)現(xiàn)是在frameworks/base/core/jni,通過(guò)查看Android.mk,我們可以看到最后生成了libandroid_runtime.so,具體實(shí)現(xiàn)JNI功能需要上面我們介紹的libnativehelper.so,

            四、系統(tǒng)服務(wù)之java

            1、binder,提供Android的IPC功能

            2、servicemanager,服務(wù)管理的服務(wù)器端

            3、系統(tǒng)進(jìn)程zygote,負(fù)責(zé)孵化所有的新應(yīng)用

            ======================= 第二節(jié) ==========================

            在我平時(shí)工作中主要是進(jìn)行l(wèi)inux網(wǎng)絡(luò)子系統(tǒng)的模塊開(kāi)發(fā)、linux應(yīng)用程序(C/C++)開(kāi)發(fā)。在學(xué)習(xí)和從事驅(qū)動(dòng)模塊開(kāi)發(fā)的過(guò)程中,如果你對(duì)linux系統(tǒng)本身,包括應(yīng)用程序開(kāi)發(fā)都不了解,那么讀內(nèi)核代碼就如同天書,毫無(wú)意義,所以我分析框架也是從基本系統(tǒng)api開(kāi)始的,當(dāng)然也不會(huì)太多涉及到應(yīng)用程序開(kāi)發(fā)。

            好,開(kāi)始這節(jié)主要是講一個(gè)簡(jiǎn)單的adnroid應(yīng)用程序,從應(yīng)用程序出發(fā),到框架代碼。

            分析的應(yīng)用程序我們也奉行拿來(lái)主義:froyo/development/samples/HelloActivity

            ./

            |-- Android.mk

            |-- AndroidManifest.xml

            |-- res

            |-- src

            `-- tests

            其他的就多說(shuō)了,看代碼

            /**

            * Copyright (C) 2006 The Android Open Source Project

            *

            * Licensed under the Apache License, Version 2.0 (the License);

            * you may not use this file except in compliance with the License.

            * You may obtain a copy of the License at

            *

            * http://www.apache.org/licenses/LICENSE-2.0

            *

            * Unless required by applicable law or agreed to in writing, software

            * distributed under the License is distributed on an AS IS BASIS,

            * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

            * See the License for the specific language governing permissions and

            * limitations under the License.

            */

            package Android.util;

            import com.Android.internal.os.RuntimeInit;

            import java.io.PrintWriter;

            import java.io.StringWriter;

            /**

            * API for sending log output.

            *

            *

            Generally, use the Log.v() Log.d() Log.i() Log.w() and Log.e()

            * methods.

            *

            *

            The order in terms of verbosity, from least to most is

            * ERROR, WARN, INFO, DEBUG, VERBOSE. Verbose should never be compiled

            * into an application except during development. Debug logs are compiled

            * in but stripped at runtime. Error, warning and info logs are always kept.

            *

            *

            Tip: A good convention is to declare a TAG constant

            * in your class:

            *

            *

            private static final String TAG = MyActivity;

            *

            * and use that in subsequent calls to the log methods.

            *

            *

            *

            Tip: Don't forget that when you make a call like

            *

            Log.v(TAG, index= + i);

            * that when you're building the string to pass into Log.d, the compiler uses a

            * StringBuilder and at least three allocations occur: the StringBuilder

            * itself, the buffer, and the String object. Realistically, there is also

            * another buffer allocation and copy, and even more pressure on the gc.

            * That means that if your log message is filtered out, you might be doing


            上一頁(yè) 1 2 3 4 下一頁(yè)

            關(guān)鍵詞: Android 框架簡(jiǎn)介

            評(píng)論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉