With each SDK, I have a solution of installing MIPS system image.
What is it? What does it do and when will someone use it? What will happen if I do not install it?
What is it?
It is an emulator image that emulates a device that has a MIPS CPU, instead of an ARM or x86 CPU.
What does it do and when will someone use it?
You will use it if you wish to emulate a device that has a MIPS CPU, instead of an ARM or x86 CPU.
What will happen if I do not install it?
You will not be able to emulate a device that has a MIPS CPU, instead of an ARM or x86 CPU. The MIPS Consortium may cry. But, considering right now there are very few Android devices with MIPS CPUs on the market, not having a MIPS emulator is probably just fine.
More info on the MIPS architecture can be found here: http://www.mips.com/
According to my understanding you need the system images for MIPS and x86 only to test native code, which was developed using the "Native Development Kit" (NDK).
The x86-image can be executed with higher performance, if your CPU is offering virtualization support (e.g., Intel's VTx; AMD-V only for Linux), see this section in the official documentation. According to this discussion the emulator will write "HAX is working and emulator runs in fast virt mode" to the console if he uses the CPU's virtualization support.
However, if the emulator is running too fast, then the developer might forget that the app will also have to run with sufficient performance on a mobile device with limited resources ...
Strangely enough, updating MIPS System Image solved a build problem that I was having. After updating all components except for the MIPS System Image, all my projects failed to build with errors saying "R cannot be resolved to a variable". After updating MIPS System Image, everything builds well.
Related
Now you can easily notice I am new on app development path when I am setting up Android studio for Android development I find that my pc need specific requirements (Hardware) to start
But I have desktop that
CPU : Core 2Duo
RAM : 4 GB
HDD : 500 GB
It's been week when I just run some basic apps but it's very headache to do it for basics app because my android studio every minute got hang and start lagging I can't open chrome there full of warehouse of my problems related to pc because of android studio
Anyone know any hacks or by tips for me you can feel free for it.
Putting it bluntly: those specs are simply not enough to do any serious modern development. If you could replacing the HDD with an SSD (even a small, cheap one) would be the highest priority and more memory is second. A better CPU would obviously help, but it's a luxury, the other two items are more important.
Assuming that's not an option, you can do either of those two things:
don't use an IDE (or at least a more light-weight one, such as VS Code) and build your software from the command line. This will be more painful (especially when you're just starting) and even then the resource requirements of the build will be non-trivial.
Make sure to do as little as possible on your local machine. If you have a decent internet connection, then you might be better off developing on a free remote cloud computer and use something like Projector to show the UI in the browser. I've found this repo with instructions on how to use it with Android Studio, which seems useful, but I've not verified that it works.
The only hacks I can think of are:
Make sure you are not using a remote mounted file system or "share" for either your Android Studio + Java installation or your AS workspace.
Shutoff (quit) all other applications that are using significant amounts of RAM; e.g. your web browsers, your email tool, Slack, Zoom, etc.
If you are using Windows, switch to Linux.
Better idea: get a better development machine. I think that the RAM is most important, because it sounds like your machine is thrashing.
It may seem unfair but Android Studio is not really suitable to run in a lower end device. It used to lag/hang in my device with Core i7 and 8GB Ram. The best thing you can do is to use an SSD instead of HDD. SSDs with smaller memory are often cheap and this alone can somewhat lessen your problems with Android Studio.
i think you should change your HDD to 240 GB SSD and it will works fine
I have a hardware device with following specifications
RAM: ~200-250 MB
Speed: ~800 - 1000 MHz
Processor: cortex arm11
We have a C/C++ based SDK to develop applications for the device. Now we want to put JVM inside the device so that people can do java based development too. (Very similar to DVM inside Android OS)
I am a Java guy, but not proficient in C/C++ and Kernel level details.
Could anyone kindly suggest me how to start the whole process or any link where I can improve my knowledge in this direction.
Thanks in advance.
You can run Java applications on an ARMv6 device but the overall experience (performance and api coverage wise) won't be easily similar to a desktop one.
You can use Java SE Embedded to run headless (non gui) applications assuming your device a VFP unit. (ARMv6/7 Linux - Headless EABI, VFP, SoftFP ABI, Little Endian1)
You can also use a third party Java virtual machine like JamVM.
These are all easy if you already have a working arm device with a Linux kernel. In this case you can also port Android to your device easier and this will make it simpler to introduce your device to external developers, you can just say "it is an android 2.3 device". There are various pages (all somehow half baked) about porting Android and Google is your friend.
if I wanna work/test with my AVD, the Android emulator is super slow, barely usable. Im developing with eclipse and was just about testing a helloWorld app., but the whole thing runs too slow. Is it the hardware of my pc?
details:
AMD Athlon 64 3500+, 2.21 Ghz
2 GB RAM
Windows XP
I know its kinda running with coal, but actually, its just a phone emulator. What is your opinion?
I had the same problem. The emulator was slow as hell. You can significantly speed it up by changing the heap size allocated to it in AVD manager. Go to AVD Manager -> Select your device -> Click on "Details" button. The heap size will most probably be 24 or 48 (vm.heapSize: 24). Here's how you increase the heap size.
AVD Manager -> Select device -> Edit -> Hardware section (same window) -> Select "Max VM application heapsize" property -> Double click and edit the value to 512 or higher.
Restart the emulator (if already running).
It is just a very slow emulator. The best option is definately to test on a real phone.
I am using Intel Core2 Quad # 2.33HZ, 2.33Hz with 3GB of RAM. It take about 20 seconds to upload the app after making changes. You must upgrade your PC in order to test your apps on emulator. If you have android device, then good. Your PC will work fine.
Like cjk says, the emulator is incredibly slow. It fully emulates the core ARM architecture and can only be single threaded. Best you can do to help it is assign it to a lesser used core and increase the priority/niceness of the process.
I had the same type of specs on my computer while developing, indeed the emulator is too slow to work with. What is your screen resolution? In my case connecting to a monitor sped up the emulator, really lame..
My LCD's current screen resolution is 1600 * 900 and I am using Windows 7. Its working fine.
I have a macbook air (not very powerfull), the emulator was too slow. It was because the in the Emulation Options Use Host GPU was ticked. This might also help. its fine with:
Device: 3.2" QVGA
target: level 8
Memory Ram: 512
Heap: 128
Emulation options: not ticked.
hope it helps
I'm using Intel Core 2 Duo T5550 with 3 GB ram, and SSD HDD for java development under Ubuntu 64, all is tweaked, but it's still slow. I mean switching between windows and other simple actions, even when it starts up, especially when you open few big projects.
I heard that arm has jazelle and thumb on newer processors, which execute java bytecode directly, and it's fast.
If I switch to such machine would eclipse(java) work faster?
Edit:
Thanks for anwserws. I know that Core i7 is at least 4 times faster for java ( just have a look http://infoscreens.org/benchmark_en.html ), but I thought that ARM, which are 2x2GHz and execute java directly would be faster (for java only).
I have Oracle Java, also I used JRockit, but it was strangely crashing during debugging.
I thing I'l buy i7 desktop in near future. Thanks :)
A Core 2 Duo machine with 3 GB of RAM should have not problem running Eclipse. An ARM chip running standard desktop-oriented OS and JVM is going to be extremely slow. Far slower than your Core 2 Duo machine. Regarding those new ARM instructions, in order for them to be useful, there needs to be a JVM that can work with them. If one exists, it is going to be of specialized sort likely designed for mobile device operating systems.
One common problem that Linux users have with Eclipse is that OpenJDK that comes with Linux distributions just doesn't perform as well as Oracle/Sun JDK. If you haven't installed Oracle JDK, I recommend installing it for use with Eclipse. Your performance problem may just go away.
If it doesn't and you are still considering buying a new machine, an i3/i5/i7 machine would be a far far better choice for a development platform than anything ARM that exists today or likely to exists in the near future.
Oh and one more thing... Eclipse has native components (SWT UI and file I/O) and there isn't a build available for any ARM architecture.
My guess is you are running low of memory, not just for the application but tocache disk access. Having more memory, regardless of your process is likely to be your problem.
When your system is running slow is you system waiting on IO or consming CPU. e.g. have a look on top.
BTW: I use IntelliJ CE with about 15,000 classes open and it works fine on a machine with 24 GB. ;)
ARM CPU is not as powerful as x86 CPU, so no. Also, I doubt eclipse will run on an ARM machine.
I would like to create Java applications, but my first “brake” is that it is impossible to run Netbeans at a decent speed under Ubuntu 9.10 with a Radeon X1300 Pro graphics card, P4 3.2GHz.
If I use other software, like Monodevelop or any other non-Java app, I don’t have this run-slow problem.
This could perhaps be my Radeon card with my high resolution (1600x1050), so would I be better off if I bought another video card? Or is it a problem with Linux, the Java Virtual Machine or something else?
Are there any settings I should try changing in the netbeans.conf file? Would setting opengl=true or any other settings improve my Netbeans experience?
If you can run Netbeans without problems, what PC configuration do you have?
I know this is not strictly a programming question, but it is about developer tools and configuration.
Your CPU speed is fine.
Your video card is powerful enough. Video driver issues are possible, but not terribly likely.
NetBeans is RAM-hungry, there's just no way around it:
Make sure you have enough free physical RAM on your machine when running NetBeans. Ask Google for information about how to inspect and watch memory usage for your OS.
Maybe try closing one or two other RAM-hungry apps, if you have them running.
Try using the Sun JDK/JRE, it is more heavily optimized than other offerings.
i think you should check your java virtual machine, i have used netbeans on various machines for java development and got no problems up to now.
I've run Netbeans on Ubuntu 9.10 and a Radeon card with no problems. One thing you may want to do is increase the memory size that the JVM allocates to Netbeans. this Netbeans wiki article should help you figure out how to configure it.
I have personally noticed Netbeans slowness on Fedora 14 under a couple conditions:
Using OpenJDK seems to be slower than Sun Java
Using the radeon open source video driver
I've been meaning to install fglrx on my laptop to confirm this hypothesis about #2. See this thread for more.