2.1.5 ApplicationsApplications or apps are built on top of the Applica dịch - 2.1.5 ApplicationsApplications or apps are built on top of the Applica Việt làm thế nào để nói

2.1.5 ApplicationsApplications or a

2.1.5 Applications
Applications or apps are built on top of the Application Framework and are
responsible for the interaction between end-users and the device. It is unlikely
that an average user ever has to deal with components not in this layer. Preinstalled applications offer a number of basic tasks a user would like to perform
(making phone calls, browsing the web, reading e-mail, etc.), but users are free
to install third-party applications to use other features (e.g., play games, watch
videos, read news, use GPS navigation, etc.). We discuss Android applications
in more detail in Section 2.3.
2.2 Dalvik Virtual Machine
Android’s design encourages software developers to write applications that offer
users extra functionality. Google decided to use Java as the platform’s main
programming language as it is one of the most popular languages: Java has
been the number one programming language almost continuously over the last
decade
6
, and a large number of development tools are available for it (e.g.,
Eclipse
7
and NetBeans
8
). Java source code is normally compiled to and distributed as Java bytecode which, at runtime, is interpreted and executed by a
Virtual Machine (VM). For Android, however, Google decided to use a different
bytecode and VM format named Dalvik. During the compilation process of
Android applications, Java bytecode is converted to Dalvik bytecode which can
later be executed by the specially designed Dalvik VM.
Since a large part of our contributions involve modifying the Dalvik VM, we
now discuss it in a bit more detail.
2.2.1 Hardware constraints
The Android platform was specifically designed to run on mobile devices and
thus comes has to overcome some challenging hardware restrictions when compared to regular desktop operating systems: mobile phones are limited in size
and are powered by only a battery. Due to this mobile character, initial devices contained a relatively slow CPU and had only little amount of RAM left
once the system was booted. Despite these ancient specifications, the Android
platform does rely on modern OS principles: each application is supposed to
run in its own process and has its own memory space which means that each
application should run in its own VM.
It was argued that the hardware constraints, made it hard to fulfill the
security requirements using existing Java virtual machines [8]. To overcome
these issues, Android uses the Dalvik VM. A special instance of the DVM is
started at boot time which will become the parent of all future VMs. This VM
is called the Zygote process and preloads and preinitializes all system classes (the
core libraries discussed in Section 2.1.3). Once started, it listens on a socket
and fork()s on command whenever a new application start is requested. Using
fork() instead of starting a new VM from scratch increases the speedup time and by sharing the memory pages that contain the preloaded system classes,
Android also reduces the memory footprint for running applications.
Furthermore, as opposed to regular stack-based virtual machines — a mechanism that can be ported to any platform — the DVM is register-based and is
designed to specifically run on ARM processors. This allowed the VM developers to add more speed optimizations.
2.2.2 Bytecode
The bytecode interpreted by the DVM is so-called DEX bytecode (Dalvik EXecutable code). DEX code is obtained by converting Java bytecode using the
dx tool. The main difference between the DEX file format and Java bytecode
is that all code is repacked into one output file (classes.dex), while removing
duplicate function signatures, string values and code blocks. Naturally, this
results in the use of more pointers within DEX bytecode than in Java .class
files. In general, however, .dex files are about 5% smaller than their counterpart, compressed .jar files.
It is worth mentioning that during the installation of an Android application,
the included classes.dex file is verified and optimized by the OS. Verification
is done to reduce runtime bugs and to make sure that the program cannot
misbehave. Optimization involves static linking, inlining of special (native)
methods (e.g. calls to equals()), and pruning empty methods.
2.3 Apps
Android applications are distributed as Android Package (APK) files. APK
files are signed ZIP files that contain the app’s bytecode along with all its
data, resources, third-party libraries and a manifest file that describes the app’s
capabilities. Figure 2.3 shows the simplified process of how Java source code
projects are translated to APK files.
0/5000
Từ: -
Sang: -
Kết quả (Việt) 1: [Sao chép]
Sao chép!
2.1.5 ứng dụngỨng dụng hoặc ứng dụng được xây dựng trên đầu trang của các khuôn khổ ứng dụng vàchịu trách nhiệm về sự tương tác giữa các người dùng cuối và các thiết bị. Không chắcrằng một người sử dụng trung bình là bao giờ có để đối phó với các thành phần không có trong lớp này. Cài đặt sẵn các ứng dụng cung cấp một số nhiệm vụ cơ bản người dùng muốn thực hiện(thực hiện cuộc gọi điện thoại, trình duyệt web, đọc email, vv), nhưng người dùng được tự dođể cài đặt ứng dụng bên thứ ba để sử dụng các tính năng khác (ví dụ, chơi trò chơi, xemvideo, đọc tin tức, sử dụng GPS danh mục chính, vv..). Chúng tôi thảo luận về các ứng dụng Androidchi tiết hơn trong phần 2,3.2.2 máy ảo DalvikThiết kế của Android khuyến khích các nhà phát triển phần mềm để viết các ứng dụng cung cấpngười sử dụng các chức năng phụ. Google đã quyết định sử dụng Java là nền tảng của chínhngôn ngữ lập trình vì nó là một trong những ngôn ngữ phổ biến nhất: Java cólà một số ngôn ngữ lập trình gần như liên tục qua cuối cùngthập kỷ6, và một số lớn các công cụ phát triển đang có sẵn cho nó (ví dụ:Nhật thực7và NetBeans8). Mã nguồn Java thường được biên soạn để và được phân phối như Java bytecode mà, lúc chạy, giải thích và thực hiện bởi mộtMáy ảo (VM). Cho Android, Tuy nhiên, Google đã quyết định sử dụng một khác nhaubytecode và VM định dạng tên là Dalvik. Trong quá trình biên soạnỨng dụng Android, Java bytecode được chuyển đổi sang Dalvik bytecode có thểsau đó được thực hiện bởi máy ảo Dalvik thiết kế đặc biệt.Kể từ khi một phần lớn của những đóng góp của chúng tôi liên quan đến việc sửa đổi máy ảo Dalvik, chúng tôibây giờ thảo luận chi tiết hơn một chút.2.2.1 những hạn chế phần cứngNền tảng Android được thiết kế đặc biệt để chạy trên thiết bị di động vànhư vậy có phải vượt qua một số hạn chế phần cứng khó khăn khi so sánh với hệ thống điều hành máy tính để bàn thông thường: điện thoại di động được giới hạn trong kích thướcvà được cung cấp bởi chỉ một pin. Do nhân vật này điện thoại di động, thiết bị ban đầu bao gồm một CPU tương đối chậm và đã có chỉ ít lượng RAM tráimột khi hệ thống được khởi động. Mặc dù các chi tiết kỹ thuật cổ xưa, Androidnền tảng dựa trên hệ điều hành hiện đại nguyên tắc: mỗi ứng dụng là nghĩa vụ phảichạy trong quá trình của riêng mình và có của riêng mình không gian bộ nhớ có nghĩa là mỗiứng dụng sẽ chạy trong máy ảo riêng của mình.Đó lập luận rằng những hạn chế phần cứng, đã làm cho nó khó khăn để hoàn thành cácyêu cầu bảo mật bằng cách sử dụng máy ảo Java hiện tại [8]. Để khắc phụcnhững vấn đề này, Android sử dụng máy ảo Dalvik. Một trường hợp đặc biệt của DVM làbắt đầu vào lúc khởi động mà sẽ trở thành cha mẹ của tất cả các máy ảo trong tương lai. Này VMđược gọi là quá trình hợp tử và preloads và preinitializes tất cả hệ thống lớp học (cácthư viện lõi đã thảo luận trong phần 2.1.3). Khi bắt đầu, nó lắng nghe trên một ổ cắmvà ngã ba () s trên lệnh bất cứ khi nào một khởi đầu mới của ứng dụng được yêu cầu. Bằng cách sử dụngFork() thay vì bắt đầu một máy ảo mới từ đầu tăng thời gian tăng tốc và bằng cách chia sẻ các trang bộ nhớ chứa các cài đặt sẵn hệ thống lớp học,Android cũng làm giảm các dấu chân bộ nhớ để chạy ứng dụng.Hơn nữa, trái ngược với thông thường máy ảo dựa trên stack — một cơ chế mà có thể chuyển sang bất kỳ nền tảng — DVM là dựa trên đăng ký vàđược thiết kế để cụ thể chạy trên bộ xử lý ARM. Điều này cho phép các nhà phát triển VM để thêm thêm tốc độ tối ưu.2.2.2 BytecodeBytecode giải thích bởi DVM là cái gọi là DEX bytecode (Dalvik EXecutable mã). Mã DEX là thu được bằng cách chuyển đổi Java bytecode sử dụng cáccông cụ DX. Sự khác biệt chính giữa các định dạng tập tin DEX và Java bytecodelà rằng tất cả các mã repacked vào một tập tin đầu ra (classes.dex), trong khi loại bỏchữ ký các chức năng trùng lặp, Chuỗi giá trị và mã khối. Đương nhiên, điều nàyCác kết quả trong việc sử dụng các gợi ý thêm trong DEX bytecode hơn trong Java .classcác tập tin. Nói chung, Tuy nhiên, tập tin .dex có khoảng 5% nhỏ hơn so với các đối tác của họ, các tập tin .jar nén.Đó là giá trị đề cập rằng trong khi cài đặt ứng dụng Android,tệp bao gồm classes.dex xác minh và tối ưu hóa bởi hệ điều hành. Xác minhđược thực hiện để giảm thời gian chạy lỗi và để đảm bảo rằng chương trình không thểmisbehave. Tối ưu hóa liên quan đến việc liên kết tĩnh, inlining đặc biệt (nguồn gốc)phương pháp (ví dụ như các cuộc gọi đến equals()), và cắt tỉa các phương pháp có sản phẩm nào.2,3 appsỨng dụng Android được phân phối như các tập tin gói Android (APK). APKcác tập tin là ký các tập tin ZIP có chứa các ứng dụng bytecode cùng với tất cả của nódữ liệu, tài nguyên, thư viện bên thứ ba và một tập tin bản kê mô tả các ứng dụngkhả năng. Con số 2,3 cho thấy quá trình đơn giản của cách Java mã nguồndự án đang biên dịch tập tin APK.
đang được dịch, vui lòng đợi..
Kết quả (Việt) 2:[Sao chép]
Sao chép!
2.1.5 Ứng dụng
các ứng dụng hoặc các ứng dụng được xây dựng trên đỉnh của khung ứng dụng và
chịu trách nhiệm cho sự tương tác giữa người sử dụng và các thiết bị. Nó không chắc
rằng một người dùng trung bình bao giờ có để đối phó với các thành phần không phải trong lớp này. Các ứng dụng cài đặt sẵn cung cấp một số nhiệm vụ cơ bản một người dùng muốn biểu diễn các
(thực hiện cuộc gọi điện thoại, duyệt web, đọc e-mail, vv), nhưng người dùng có thể tự do
cài đặt các ứng dụng của bên thứ ba để sử dụng các tính năng khác (ví dụ như chơi trò chơi, xem
video, đọc tin tức, sử dụng định vị GPS, vv). Chúng tôi thảo luận về các ứng dụng Android
chi tiết hơn trong phần 2.3.
2.2 Dalvik Virtual Machine
thiết kế Android khuyến khích các nhà phát triển phần mềm để viết các ứng dụng cung cấp cho
người sử dụng thêm chức năng. Google quyết định sử dụng Java như chính của nền tảng
ngôn ngữ lập trình như nó là một trong những ngôn ngữ phổ biến nhất: Java đã
được số một ngôn ngữ lập trình gần như liên tục trong cuối
thập kỷ
6
, và một số lượng lớn các công cụ phát triển được cung cấp cho nó (ví dụ như ,
Eclipse
7
và NetBeans
8
). Mã nguồn Java thường được biên soạn để và phân phối như Java bytecode đó, lúc chạy, được hiểu và thực hiện bởi một
máy ảo (VM). Đối với Android, tuy nhiên, Google đã quyết định sử dụng một khác nhau
bytecode và định dạng máy ảo có tên là Dalvik. Trong quá trình biên soạn của
các ứng dụng Android, Java bytecode được chuyển Dalvik bytecode mà có thể
sau này sẽ được thực hiện bởi Dalvik VM thiết kế đặc biệt.
Kể từ khi một phần lớn của những đóng góp của chúng tôi liên quan đến việc sửa đổi Dalvik VM, chúng tôi
bây giờ thảo luận nó trong một chi tiết chút.
2.2.1 hạn chế phần cứng
nền tảng Android được thiết kế đặc biệt để chạy trên các thiết bị di động và
do đó đến phải vượt qua một số hạn chế phần cứng đầy thử thách khi so sánh với các hệ điều hành máy tính để bàn thông thường: điện thoại di động được giới hạn trong kích thước
và được trang bị duy nhất một pin. Do nhân vật di động, các thiết bị ban đầu gồm một CPU tương đối chậm và chỉ có ít dung lượng RAM còn lại
một khi hệ thống được khởi động. Mặc dù có những thông số kỹ thuật cổ xưa, Android
nền tảng không dựa trên nguyên tắc hệ điều hành hiện đại: mỗi ứng dụng được cho là
chạy trong tiến trình riêng của mình và có không gian bộ nhớ của nó có nghĩa là mỗi
. Ứng dụng sẽ chạy trong máy ảo riêng của nó
Nó đã lập luận rằng những hạn chế phần cứng , làm cho nó khó khăn để thực hiện đầy đủ các
yêu cầu về an ninh sử dụng máy ảo Java hiện [8]. Để khắc phục
những vấn đề này, Android sử dụng Dalvik VM. Một ví dụ đặc biệt của DVM được
bắt đầu vào lúc khởi động mà sẽ trở thành cha mẹ của tất cả các máy ảo trong tương lai. VM này
được gọi là quá trình hợp tử và sự cài đặt trước và preinitializes tất cả các lớp hệ thống (các
thư viện lõi thảo luận trong phần 2.1.3). Khi bắt đầu, nó sẽ lắng nghe trên một socket
và fork () s trên lệnh bất cứ khi nào bắt đầu ứng dụng mới được yêu cầu. Sử dụng
fork () thay vì bắt đầu một VM mới từ đầu làm tăng thời gian tăng tốc và bằng cách chia sẻ các trang bộ nhớ có chứa các lớp hệ thống cài đặt sẵn,
Android cũng làm giảm bộ nhớ cho các ứng dụng đang chạy.
Hơn nữa, như trái ngược với các máy ảo dựa trên stack thường xuyên - một cơ chế có thể được chuyển đến các nền tảng nào - DVM là register-based và được
thiết kế đặc biệt để chạy trên bộ vi xử lý ARM. Điều này cho phép các nhà phát triển VM thêm nhiều tốc độ tối ưu.
2.2.2 Bytecode
Bytecode giải thích bởi DVM là cái gọi là DEX bytecode (Dalvik Executable code). Mã DEX thu được bằng cách chuyển đổi bytecode Java bằng cách sử dụng
công cụ dx. Sự khác biệt chính giữa các định dạng tập tin DEX và Java bytecode
là tất cả các mã được đóng gói lại thành một tập tin đầu ra (classes.dex), trong khi loại bỏ
chữ ký chức năng trùng lặp, giá trị chuỗi và khối mã. Đương nhiên, điều này
dẫn đến việc sử dụng nhiều con trỏ trong DEX bytecode hơn trong Java .class
file. Tuy nhiên, nhìn chung, các file .dex nhỏ hơn so với đối tác của họ, nén file .jar khoảng 5%.
Điều đáng nói là trong khi cài đặt một ứng dụng Android,
các tập tin classes.dex bao gồm được xác minh và tối ưu hóa bởi hệ điều hành. Xác minh
được thực hiện để giảm lỗi thời gian chạy và để đảm bảo rằng chương trình không thể
misbehave. Tối ưu hóa liên quan đến liên kết tĩnh, nội tuyến của đặc biệt (bản địa)
phương pháp (ví dụ như các cuộc gọi đến bằng ()), và cắt tỉa phương pháp trống rỗng.
2.3 Ứng dụng
các ứng dụng Android được phân phối như Android Package (APK) các tập tin. APK
tập tin được ký kết các tập tin ZIP có chứa bytecode của ứng dụng cùng với tất cả của nó
dữ liệu, tài nguyên, thư viện của bên thứ ba và một file manifest mô tả của ứng dụng
khả năng. Hình 2.3 cho thấy quá trình đơn giản về cách mã nguồn Java
dự án được phiên dịch sang các tập tin APK.
đang được dịch, vui lòng đợi..
 
Các ngôn ngữ khác
Hỗ trợ công cụ dịch thuật: Albania, Amharic, Anh, Armenia, Azerbaijan, Ba Lan, Ba Tư, Bantu, Basque, Belarus, Bengal, Bosnia, Bulgaria, Bồ Đào Nha, Catalan, Cebuano, Chichewa, Corsi, Creole (Haiti), Croatia, Do Thái, Estonia, Filipino, Frisia, Gael Scotland, Galicia, George, Gujarat, Hausa, Hawaii, Hindi, Hmong, Hungary, Hy Lạp, Hà Lan, Hà Lan (Nam Phi), Hàn, Iceland, Igbo, Ireland, Java, Kannada, Kazakh, Khmer, Kinyarwanda, Klingon, Kurd, Kyrgyz, Latinh, Latvia, Litva, Luxembourg, Lào, Macedonia, Malagasy, Malayalam, Malta, Maori, Marathi, Myanmar, Mã Lai, Mông Cổ, Na Uy, Nepal, Nga, Nhật, Odia (Oriya), Pashto, Pháp, Phát hiện ngôn ngữ, Phần Lan, Punjab, Quốc tế ngữ, Rumani, Samoa, Serbia, Sesotho, Shona, Sindhi, Sinhala, Slovak, Slovenia, Somali, Sunda, Swahili, Séc, Tajik, Tamil, Tatar, Telugu, Thái, Thổ Nhĩ Kỳ, Thụy Điển, Tiếng Indonesia, Tiếng Ý, Trung, Trung (Phồn thể), Turkmen, Tây Ban Nha, Ukraina, Urdu, Uyghur, Uzbek, Việt, Xứ Wales, Yiddish, Yoruba, Zulu, Đan Mạch, Đức, Ả Rập, dịch ngôn ngữ.

Copyright ©2025 I Love Translation. All reserved.

E-mail: