Saturday, September 15, 2012

Kies - CPU hog.

I am trying to concentrate and write my book, yet my Mac Pro laptop is thinking it has a jet engine powered by termo-nuclear reactor. In another words it is hot and noisy. I check running apps with Control-tab and see nothing suspicious running. I open Activity Monitor and I see that Kies it cranking at 30%, Force closing the offender instantly brings cool peace to my poor Mac.

Kies - a poorly written software that wants to be iTunes, but really it is only annoying.

/Applications/Utilities/Activity\ Monitor.app

Tuesday, September 4, 2012

Eclipse/Java: running out of memory


Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
or 

Unable to execute dex: Java heap space Java heap space 


If you need to increase the memory, find the eclipse.ini and change maximum Xmx memory (-Xmx512m):

find /Applications/ide/eclipse/Eclipse.app




open /Applications/ide/eclipse/Eclipse.app/Contents/MacOS/eclipse.ini 





if you use a TextWrangler it will open it by default.


-startup
../../../plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar
--launcher.library
../../../plugins/org.eclipse.equinox.launcher.cocoa.macosx_1.1.1.R36x_v20100810
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
512m
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-XstartOnFirstThread
-Dorg.eclipse.swt.internal.carbon.smallFonts
-XX:MaxPermSize=512m
-Xms40m
-Xmx1024m
-Xdock:icon=../Resources/Eclipse.icns
-XstartOnFirstThread
-Dorg.eclipse.swt.internal.carbon.smallFonts



NOTE:


Before you go and start increasing available memory please take a look at your code and refractor ANY creation of objects from inside loops, or at least heavy objects like database Statement used in the inserts:


Connection connection = MySqlHelpers.makeDbConnection(db, user, password);
Statement statement = connection.createStatement();


Just removing the Statement from the loop stabilized java process "Real Memory" footprint growth at 61 MB. Removing various Strings variables made much smaller difference.

I noticed that few System.out.println(...) does not really increase the memory footprint.



You can check Activity Monitor to see if you have java process that quickly builds up "Real Memory" from original 40 MB to 176 MB as it is the case here. Notice I still have 845 MB of Free memory, yet the process crashes around 177 MB.








Eclipse Juno set up for Android Development

1. Download "Eclipse IDE for Java EE Developers, 210 MB" (64 bit for Intel Mac) from:

http://www.eclipse.org/downloads/

You should get this file:

eclipse-jee-juno-macosx-cocoa-x86_64.tar.gz

2. Unzip it and copy the "eclipse" folder to your Applications (or other convenient place)
uki$ /Applications/ide/Juno/eclipse/Eclipse.app
3. Open eclipse folder and double-click on Eclipse.app



4. Set up the workspace to any folder where you want to keep your code. If you have multiple clients with many library projects it might be good to set them in separate workspaces.



SETTING SVN - SUBCLIPSE


1. Eclipse Help > Install New Software...


2. URL: http://subclipse.tigris.org/update_1.8.x



3. Select ALL and follow the wizard until Subclipse is installed.

You should be able at this point to open Window > Show View > other .. > SVN repositories
and add your repository.


INSTALLING Android Development Toolkit ADT


1. The same way Eclipse Help > Install New Software...
2. URL: https://dl-ssl.google.com/android/eclipse/
3. name: Android Development Tools (ADT) plugin
4. select all and finish the wizard installation
5. restart IDE

DOWNLOAD ANDROID PACKAGES


Open Android SDK Manager by clicking on Android icon with arrow pointing down


Select and download pretty much every version of SDK and Google APIs, you will need them all when developing any serious apps. This will take very long time.