the dvmstartup () method, and finally call it to call heapsource. the dvmheapsourcestartup () method in C, while in init. there are two codes in C:
Gdvm. heapsizestart = 2*1024*1024; // spec says 16 MB; too big for us.
Gdvm. heapsizemax = 16*1024*1024; // spec says 75% physical mem
There is similar code in another place, that is, in the startvm () method in androidruntime. cpp:
Strcpy (heapsizeoptsbuf, "-xmx ");
Property_get ("Dalvik. VM. heapsize", heapsizeoptsbuf +
You don't have to say much about the interface. Raise your hand!
Here, I will post the method of database access and extjs table creation.
1 access SQLite 3:
Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->Function get_sqlite3_data ()
{
D = new array ();
Q = "select * From test_table ;";DB. Query (Q );While (db. Fetch ()){Idx = dB. get_array_data ("idx ");Name = dB. get_array_data ("name ");Email = dB. get_array_data ("email ");A = new array (i
RTT to capture backtrace. You can enable KDB for Kernel debug and use ftrace to capture CPU execution scenarios.
* MTK aee captures more exception information in the Eng version. For example, native exception captures core dump Information (2) performance. In principle, use the user version for performance testing.
* The user version uses DVM pre-optimization to speed up the first boot. The Dex file is decomposed into odex files that can be directly
(AsyncTaskTrapActivity.java:56)11-03 09:13:10.501: E/AndroidRuntime(762): at java.lang.Thread.run(Thread.java:1050)11-03 09:13:32.823: E/dalvikvm(762): [DVM] mmap return base = 4585e000
However, it runs normally in android4.0 and later versions (Version 3.0 is not tested ).
From the stacktrace of 2.3 runtime, the reason is that the UI component is operated in a non-UI thread. No, it's amazing. The document of asynctask # onprogressupdate () and async
created.For applications, it is the upper limit of heap.Dalvik. vm. heapstartsizeThe size of the first heap created during dvm startup is generally not large. It is mainly for zygote to perform preload. This value is meaningless for the app.The online saying is that this is the size of the first heap used for the app. Actually, it is incorrect. When the app is started, both heaps have been created.Dalvik. vm. heapgrowthlimitThis value is the default
Android performance optimization Manual
This manual is suitable for developers with at least preliminary experience to check or review relevant knowledge. New users may not understand this manual.1. java code optimization 1.1 how Android executes code
Dvm:. java->. class->. dex->. apkOptimized the Fibonacci series:
The recurrence formula of the Fibonacci series is f (n) = f (n-1) + f (n-2), and the feature equation is: x2 = x + 1, obtain the equation
are obvious: the zygote process is generated at system startup, it completes the initialization of the virtual machine, the loading of the library, the loading and initialization of the pre-set class library, and so on, while the system needs a new virtual machine instance, zygote through its own replication, the fastest to provide this system, in addition, For some read-only system libraries, all virtual machine instances share a chunk of memory with zygote, saving a significant amount of memo
their methods synchronously. Blocking in these processes can also cause blocking in systemserver.In the dumpstacktraces () implementation, the trace path is first removed from the system property of Dalvik.vm.stack-trace-file, which defaults to/data/anr/traces.txt. It then creates the file (if necessary), sets the property, and finally calls the function dumpstacktraces () with the same name to complete the real dump job. Dump work will first use Fileobserver (using the inotify mechanism) to mo
-->. jarArchitecture: Stack
DVM:. java --> javac -->. class --> dx. bat -->. dexArchitecture: Register (a high-speed cache on the cpu)
Solve the problem that Android SDK Manager cannot download the SDK
Unable to update or download the SDK because the Chinese mainland intercepts Google servers
Append the following information to the hosts file (directory: C: \ Windows \ System32 \ drivers \ etc ):74.125.113.121 2.16.android.com203.208.46.146
connected by the GC Roots reference chain, this object is not available.GC roots objects include:A. The referenced object in the virtual machine stack (the local variable table in the stack frame).B. The object referenced by the class static property in the method area.C. The object referenced by a constant in the method area.D. The object referenced by the JNI (native method) in the local method stack.After searching for useless objects through the above algorithm, it is the recycling process,
port this part of the native code into Java code. There is already a ready tool for this work, which is javaidedroid. It is also important to note that the native library files that aapt need at work are all concentrated in a so file. So in order to achieve full NDK independence, it is only necessary to port the AAPT code.4.2 Java CompilerHere you choose the Java compiler ECJ that uses eclipse, because this compiler is written in Java.4.3 Dalvik ConversionAndroid uses the DEX format executable
1. Four components in Android2, five kinds of layout in Android, the principleFramelayout layoutLinearLayout layoutRelativelayout layoutTablelayout layoutAbsolutelayout layout3. What are the different types of animations in Android?4. What kinds of ways to parse XML in Android, principle, Difference
Parsing JSON methods in Android, principle, Difference
Why the JSON data format is now mostly
ListView Optimization Method
How data is stored
Four modes of startup
Activity,fragment lif
class holds the reference to the activity, so you can customize the handler and Runnable classes and declare them as static inner classes to disassociate and activity references.Memory leak 6:threadThe code is as follows:Mainactivity.javavoid spawnThread() { new Thread() { @Overridepublicvoidrun() { while(true); } }.start();}View tButton = findViewById(R.id.t_button);tButton.setOnClickListener(new View.OnClickListener() { @OverridepublicvoidonClick(View v) {
:= libsubstrate.soinclude $ (prebuilt_shared_library) include $ (clear_vars) LOCAL_ MODULE := mainlocal_src_files:= Main. CPP local_ldlibs:=-+ =-l$ (local_path)-LSUBSTRATE-DVM-lsubstrateinclude $ (build_shared_ LIBRARY)The files in the final Jni folder are as follows:Second, compile the codeAfter the NDK environment is configured, enter the JNI directory under CMD. then enter Ndk-build. If the environment is configured successfully, it will have th
Start writing the first: Android Four components:1 ActivityThe activity is responsible for the components that interact with the user and can imagine it as a jframe in swing programming, except that JFrame can constantly add controls to it, but the activity can only be displayed through the view in Setcontentview.Activity provides a visual interface for Android, and when an activity requires multiple visual interfaces, the Android application needs multiple activity, which makes up the activity
is a definition of the method that is related to fetching hprof.such as: public static void Dumphprofdata (String fileName) throws IOException;This allows the hprof of the process to be saved directly to the corresponding file in the code. Note that this can only capture theProcess.If you want to catch other process hprof, then you have to help with AMS.You can get the Iactivitymanager interface first, and then call its Dumpheap method. The detailed code. We can participateThe calling code in F
as Physicalfilepath, sum (fsu.unallocated_extent_page_count) * 8.0/1024 as FREE_SPACE_IN_MB, sum (fsu.version_ Store_reserved_page_count + fsu.user_object_reserved_page_count + fsu.internal_object_reserved_page_ Count + fsu.mixed_extent_page_count) * 8.0/1024 as Used_space_in_mbfrom sys.dm_db_file_space_usage as FSU INNER JOIN sys.master_files as MF on fsu.database_id = mf.database_id and fsu.fi
) Atcom.android.internal.os.zygoteinit$methodandargscaller.run (zygoteinit.java:866) at Com.android.internal.os.ZygoteInit.main (zygoteinit.java:624) at Dalvik.system.NativeStart.main (Native Method)Indicates that the main thread is waiting for the next message to enter the message queueWe can clearly parse the meaning of the thread information in the trace file :1. The first line is a fixed head , indicating that the following are the currently running DVM
accelerator to choose
to use an Intel accelerator, you need to install an accelerator and download the appropriate image file
Back camera
Back Camera
Webcam
using your computer's webcam
VM Heap
The default size of the DVM, in units of M, for each application that occupies memory
Internal Storage
In fact, Dalvik is based on registers, while JVM is based on stacks. Dalvik porting technology can convert Java. class to. dex format. A dex file usually has multiple. classes. Because dex sometimes has to be optimized, it will increase the file size by 1 to 4 times and end with ODEX .)
This document guides you how to port the Dalvik virtual machine to a Linux platform. This document assumes that the platform we want to transplant has a certain degree of similarity with the current android platf
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.