Dalvik仮想マシンはすべてのプロセスで実行する必要があるのですか? -- dalvik フィールド と processes フィールド android 関連 問題

Why does Dalvik virtual machine need to run in every process?


2
vote

問題

日本語

JVMとDVMはどちらも仮想環境を提供します。 JVMはすべてのプロセスにある必要はありません。 DVMはなぜすべてのプロセスにある必要があるのですか? ありがとう。

英語

JVM and DVM both provide virtual environment. JVM doesn't need to be in every process. why DVM need to be in every process? Thanks.

     

回答リスト

7
 
vote

DVMもJVMもプロセスすべての実行でも実行されません。ネイティブにコンパイルされたアプリケーション(ターミナルエミュレータの内部が表示されるもの)は、DVMまたはJVMには関連付けられていません。

そしてあなたがAndroidの "APK"アプリケーションのみを数える場合でも、JVM / DVMを(ほぼ)すべてのプロセスのアドレス空間に持つオーバーヘッドは、共有ダイナミックライブラリであるため、Linuxはコピーで一度スマートにロードされます。 OS全体の書き込みバッファ。

 

Neither DVM nor JVM runs on every processes. Natively compiled applications (e.g. the ones you see inside Terminal Emulator) are not associated with any DVM or JVM.

And even when you only count Android "apk" applications, the overhead of having JVM/DVM on (nearly) every process' address space is minimal since they are a shared dynamic library so Linux will smartly load them once in a copy-on-write buffer for the whole OS.

 
 
       
       
4
 
vote

AndroidアプリケーションはDalvik ByteCodeを実行するので、DVMを実行する必要があります。 PC上のJava ByteCodeの実行方法と同じように、JVMを実行する必要があります。

 

Android applications run Dalvik bytecode, so the DVM needs to be running. Just like how running Java bytecode on a PC requires a JVM to run.

 
 
   
   

関連する質問

14  ADBからのクリアキャッシュ?  ( Clear caches from adb ) 
ADBを介してキャッシュ(アプリ、個々のアプリ、ダルビック、ダルビク、アート)をどのようにクリアしますか? 設定、回復、または設定を介して行うことは私のためのオプションではありません。また、私の電話は根ざしていません。 ...

1  Dalvik Speed Patchは何ですか?  ( What is the dalvik speed patch ) 
最近私はDalvik JVMを通してアプリの解釈速度を上げるためにDalvikスピードパッチについて聞いてきました。 Googleに関する唯一の言及は、Facebook JVMのFacebookの「ハック」で、Facebookアプリがレガシー電話にインストール...

3  MicroMax A50用のUSBドライバのインストール  ( Installing usb driver for micromax a50 ) 
99887665544330 にUSBドライバをインストールする必要があります。 私はSDKマネージャを介してGoogle USBドライバをインストールしていますが、特にこのデバイスのUSBドライバを必要としています。インストールこのUSBドライバ私...

0  LG G2を実行しているLOLIPOP 5.0.2でキャッシュをクリアする方法  ( How to clear caches in lg g2 running lollipop 5 0 2 ) 
AT&AMPのためのロリポップの更新; T LG G2には、私の電話がかなり破壊されています。私はあらゆる種類のキャッシュをクリアすることを願っています。しかし、キャッシュをクリアすることはできません。回復はキャッシュをクリアするためのオプションを提供しませ...

6  根のないDalvikキャッシュをクリアする?  ( Clearing dalvik cache without root ) 
私は最近Motorola Atrix 4gを更新しました。ダウンロードした後、アップデートしようとするために起動しました。ただし、更新の代わりに、のように言う画面への起動に終了します。 <コード> Failed to boot 2 Starting RSD ...

0  KitkatでAndroidランタイムを切り替えるのに通常どのくらいの時間がかかりますか?  ( How much time it usually takes to switch android runtime in kitkat ) 
私はDell会場3830を持っています、そして私はDalvikから芸術へのランタイムを変更する予定です。それはAndroid Kitkat 4.4.2を持っています。私は12ギグのアプリを持っています。 私は芸術を試してみたいので、Android Runtim...

17  Dalvikキャッシュのサイズを小さくする方法は?  ( How to keep the size of the dalvik cache small ) 
私はダルビクキャッシュが巨大で、私の携帯電話のほとんどすべてのスペースを占めているという問題があります。私はCyanogenMod 7.xを実行しています。レコードの場合、私は私の携帯電話(キーボード、音声選択、Gmailなど)に約5~6個の小さなアプリケーシ...

4  芸術へのランタイムを変えた後に正しく始めていないMOTO E  ( Moto e not starting properly after changing runtime to art ) 
最近 Moto E を購入し、クールではありません。その後、 Developerオプションを有効にして、ランタイムを Dalvik から art. art. に変更しました。その後、私は自分のデバイスを再起動しました私は Androidがアップグレードしてい...

27  ダルビクキャッシュとは何ですか?  ( What is dalvik cache ) 
カスタムROMをインストールするときほとんどのDalvikキャッシュをクリアすることをお勧めします。 Dalvik Cacheは正確に何ですか? ...

1  アプリが削除されたアプリを反映していないアプリの数はなぜですか?  ( Why does the number of apps optimized not reflect removed apps ) 
ここで最適化することについての詳細を読んでください。最初の再起動時にどのようなAndroidバージョンを実行するのかがどのようなAndroidバージョンを実行しますか? と私の質問はわずかにフォローアップです。 TWRPを使用してTF700TのCMナイトル...

2  AndroidからDalvikを削除します  ( Removing dalvik from android ) 
それでは経験がありませんので、それが少し愚かに聞こえるなら私を許してください: Androidからのすべての「ユーザーレイヤー」アプリケーションとDALVIKVMをすべて削除することは、まったく普通のLinuxベースの埋め込みOSを既に設定されているすべての...

1  すべてのブートで「Androidは更新されています」  ( Android is updating on every boot ) 
すべての起動時に、「Androidは更新されている」(Appsの最適化)画面を取得します。 私はいくつかの方法を試しました。 998877666544344 Dictionaryでは、すべてのカスタムODEXファイルを削除し、Dalvikキャッシュを削除し...

1  Arm LinuxでAndroid Skypeをインストール/実行しますか?  ( Install run android skype on arm linux ) 
アームプロセッサのクロムブックを持っています。 私はそのChromebookにUbuntuをインストールしました。 しかし、ARM LinuxにSkype-Binaryがないため、Android APKのSkypeのバージョンを使用して、ARM Linuxで...

13  ZygoteプロセスはまだAndroid Lで何をしていますか?  ( What is the zygote process still doing in android l ) 
ダルビクとアートランタイムの具体的な違いを把握しようとしています。私は、Artvik VMを使用しなくなったことに気付きましたが、Android Lプレビューをインストールした後に注目した最初のものの1つは、Zygoteプロセスがまだ実行されていることでした。...

9  Dalvikキャッシュの場所を変更できます。象徴的なリンクを使って?  ( Can i change the dalvik cache location e g with a symbolic link ) 
現在、私の電話機のオンボードストレージはいくつかの不可欠なアプリには不十分であるため、Link2SDを使用しています。それは非常に効果的ですが、電話がオンのときに限られています。 ROMを変更しながら、Dalvikキャッシュが拭いており、電話機が再起動したと...