Android :: Any Tool To Find Memory Leak / Code Optimization In Android?

Sep 12, 2010

I would like to know is there any tool in android to find memory leak and code optimization.

Android :: Any Tool to Find Memory Leak / Code Optimization in Android?


Android :: How To Find Memory Leak Class / Activity In Android?

Sep 15, 2010

I am New to this Android platform. In one application, there is a memory leak. But I couldn't able to find in which activity or class the memory leak is happening. I am using MAT to get the information that the memory leak is there or not. But not able to find which activity is leaking. Please tell me how to find the which activity is leaking.

View 2 Replies View Related

Android :: Open Home Memory Optimization

Nov 11, 2009

Any idea? It doesn't seem to close apps like TaskKiller or TaskPanel. So what is it doing?

View 4 Replies View Related

Android :: Memory Leak In AudioTrack?

Jun 27, 2009

If I create and release multiple AudioTrack objects, the GREF count continually increases which eventually causes an application crash. Even with a forced garbage collection, I end up with the same high GREF count at the end of the loop.In my application, I continuously create AudioTracks from variable lenght buffers.I guess I can try and use a fixed size pool of AudioTracks each with a buffer large enough to fit my longest sound, and try and reuse them.Is there a better/correct way to completely clear resources used by an AudioTrack?

View 5 Replies View Related

Android :: Memory Leak In Map Overlay

Jan 10, 2010

I have been banging away at this one for weeks and I feel like I have exhausted my research capabilities. I am hoping that someone will see my error in the code posted below. The code is completely functional doing everything I need, but there is a major memory leak. When I try to track memory in the DDMS, the VM Heap tells me that my object count is relatively stable and the used memory is also relatively stable (it comes back down to a similar value after each GC after panning).

When I look at the memory pie chart, the free memory loses over 1meg of capacity with each map pan (overlay reload) and the Unknown memory grows. I have not found anything with the allocation tracker. Functional Summary: I load overlays onto a map based on data I get from polling my server. When I pan the map far enough I clear the overlays and load new ones.
MapFrontEnd.java (snippets): //header info private List<Overlay> overlays;
//in onCreate overlays = mapView.getOverlays();
// here I attempt to fully clean up my old Overlays for (Overlay i : overlays) {
if (i instanceof ParcelOverlay) ((ParcelOverlay) i).cleanUp(); }

View 4 Replies View Related

Android :: Memory Usage - Leak?

Dec 4, 2009

In my app, I'm fetching data via HTTP and use the response string to create an ArrayList of objects. So what I'm doing once I get the response is:

String[] fields = response.split("<field>");
and use the field[] values like this:
ArrayList<Movie> movies = new ArrayList<Movie>(); for (int row = 1; row < fields.length; row += 9) { movies.add(new Movie(fields[row], fields[row + 1], ..., fields[row + 8]);
}

View 5 Replies View Related

Android :: Memory Leak Using ListActivity

Oct 14, 2010

I have an application that uses a Service and some list activities. When the activities are opened, I can see the heap usage increase in DDMS. When the activities are closed, the heap usage decreases slightly. The service is still running in the background at this point. If the activity is started again by re-running the application and then closed, the heap usage increases again then decreases, but never returns to the original level before the activity was first opened. If it repeatedly (10-15 times) open the activity then close the activity, the heap size (both MB and # Objects) balloons!

I'd expect ListActivity's onDestroy to take care of itself when it gets destroyed. What am I missing with this? Am I using ListActivity incorrectly?

If I examine the heap using MAT, I see 10-15 ListView objects. Unfortunately, I've not got much experience with MAT, but I think it means that the instances are still hanging around rather than being garbage collected. Can anyone explain what's going on?

A test app similar to my real code is below. Create a new android application, add this to the manifest:

CODE:................

View 3 Replies View Related

Android :: Memory / Resource Leak With Application

Nov 24, 2009

I am experiencing a memory / resource leak on a T-Mobile G1 device with my application. I installed the "Task Manager" application from Android market and my memory usage is not monotonically increasing. It stays relatively flat over time. Furthermore, none of the other processes are chewing up tons of memory either (really, I can get into this state with just my app running). I am not experiencing this problem on any of the other Android phones (including Eris, Hero, and Droid).

The interesting thing is that if I kill my application, the phone is *still* very slow and sluggish. The only thing that seems to be able to get me out of this situation is a battery pull. If I run my application for about 3 hours, the phone starts to become very sluggish. Even simple operations like hitting the "home" button take many seconds. I'm not sure what to do at this point and am wondering where I can go from here.

View 3 Replies View Related

Android :: Memory Leak In Activity - Reclaiming

Sep 24, 2009

In my app activity A creates activity B, however when the back key is pressed it goes back to activity A. This is a simplified version of my application. I would expect memory to be reclaimed when going back to Activity A. Going to activity B allocates more memory. I am using dumpsys meminfo to get the allocated kbs. How can I easily tell what memory is creeping? I do not keep any references to activity B. I know about the ddms allocation tracker, but wondering if there is a more better tool to figure this out.

View 2 Replies View Related

Android :: String Builder And Memory Leak

Jan 6, 2010

I'm parsing a document with large text field. In my characters section I am using StringBuilder
currentStory.append(ch, start, length);
then in my endElement i'm assigning it to the appropriate field on my object.
if (name.equals(tagDesc)) { inDesc = false;
if (currentItem != null ) { currentItem.setSummaryText(currentStory.toString());
} currentStory.setLength(0);
} setSummary is public void setSummaryText(String text) { Story = text;
}

And I am running out of memory. If I change setSummaryText to something completely weird like this:
public void setSummaryText(String text) { char[] local = text.toString(
) Story = new String(local);
}

I am fine. I just cant figure out where I am holding that reference?
Story is a member var of this object initialized with "";
Note - assigning to local String variable instead of char[] - fails as well.

View 1 Replies View Related

Android :: Memory Leak - Heap Size

Aug 10, 2009

I know that's a subject which was discuss a lot of time and I try to find a solution since more than 6 day for the memory leak which appears in my application.

I've read this page: http://www.curious-creature.org/2008/12/18/avoid-memory-leaks-on-andr...

So, I don't use static member fields, I always use recycle() and I don't use inner class.

My application use a gallery and some bitmap. I use finalize to monitor garbage collection in each class of my application: protected void finalize() throws Throwable {try {Log.d("FINALIZE", this.toString());} finally {super.finalize();}

View 2 Replies View Related

Android : Tool To Figure Out Which Process Is Responsible For Occupying Memory?

Jun 17, 2010

Java.lang.OutOfMemoryError: bitmap size exceeds VM budget I am getting this message in my log. As I investigated and found out while loading contact image this error comes.I checked size of the image file and it was normal so came to a conclusion that other processes filling up the memory and hence at the time this image is being loaded ,VM running low of memory.

My question is that, is there any tool to figure out which process is responsible for occupying memory so that we can look into the process for the exact reason.

View 8 Replies View Related

Android :: Use AIDL Tool From Command Line Using SDK Sample Code?

Feb 1, 2010

My question concerns using aidl.exe (on a Windows system) from the command line. This question has nothing to do with Eclipse, Netbeans, etc. Included with the Android SDK are the following three AIDL definition files: IRemoteService.aidl IRemoteServiceCallback.aidl ISecondary.aidl. Located in the following directory: C:android-sdk-windowsplatformsandroid 2.1samplesApiDemossrccomexampleandroidapisapp. For the sake of simplicity, I copied aidl.exe into the above directory. Then, from a console Window, I successfully used the following two commands to generate .java files: C:Android-projectApiDemossrccomexampleandroidapisapp>aidl IRemoteServiceCallback.aidl C:Android-projectApiDemossrccomexampleandroidapisapp>aidl ISecondary.aidl. Invoking these commands produced the files: IRemoteServiceCallback.java and ISecondary.java, respectively. So far so good. I note that both .aidl files are simple; they include no 'import' statements..............................

View 2 Replies View Related

Android :: Memory Leak - New Array List String

Oct 6, 2010

After several hours of searching for the cause of a Out Of Memory Error, I found a wierd problem with Strings. To keep it simple, trimmed it down to something like this:

ArrayList<String> someStringList = new ArrayList<String>(1000);
for (int i=0; i<1000; i++) {
String someBigString = new String(new char[100000]);
String someSmallString = someBigString.substring(0,1);
someStringList.add(someSmallString);
}

View 16 Replies View Related

Android :: Phone State Listener Memory Leak

Sep 8, 2009

There appears to be a leak when using PhoneStateListeners. The following code simply reigsters in onResume and unregisters in onPause a PhoneStateListener. Repeatedly launch then press BACK (so the app is finished & onDestory is called before the next launch) and the number of activities reported by meminfo will equal the number of launches. For instance, here is the output I get after launching (and finishing) 11 times in sequence:

dumpsys meminfo com.example.leak Currently running services: meminfo
DUMP OF SERVICE meminfo: Applications Memory Usage (kB): Uptime: 12204322 Realtime: 12204322

** MEMINFO in pid 1358 [com.example.leak] ** native dalvik other total size:
2648 3079 N/A 5727
allocated: 2604 2254 N/A 4858
free: 43 825 N/A 868
(Pss): 913 1305 1475 3693
(shared dirty): 1080 3864 568 5512
(priv dirty): 808 936 1056 2800

Objects Views: 77
ViewRoots: AppContexts: 12
Activities: 11
Assets: 2
AssetManagers: 2
Local Binders: 36
Proxy Binders: 21
Death Recipients: 0
OpenSSL Sockets: 0
SQL heap: 0
dbFiles: 0
numPagers: 0
inactivePageKB: 0
activePageKB: 0 #

Without the PhoneStateListener, the number of activities is always 1 no matter how many times the app is launched & finished. So, am I doing anything wrong here? Or is this a bug in the TelephonyManager?

Here's the code package com.example.leak;

import android.app.Activity; import android.content.Context; import android.os.Bundle; import android.telephony.PhoneStateListener; import android.telephony.TelephonyManager; import android.util.Log;
public class LeakExample extends Activity {
private class MyPhoneStateListener extends PhoneStateListener {
@Override public void onCallStateChanged(int state, String incomingNumber) {
if ((state == TelephonyManager.CALL_STATE_RINGING)
|| (state == TelephonyManager.CALL_STATE_OFFHOOK)) {
LeakExample.this.finish();
} } }
MyPhoneStateListener phone_listener = new MyPhoneStateListener();
TelephonyManager telMgr ;
@Override public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
telMgr = (TelephonyManager) getSystemService (Context.TELEPHONY_SERVICE);
} @Override protected void onPause() { super.onPause();
telMgr.listen(phone_listener, PhoneStateListener.LISTEN_NONE);
} @Override protected void onResume() { super.onResume();
telMgr.listen(phone_listener, PhoneStateListener.LISTEN_CALL_STATE);
} @Override protected void onDestroy() { super.onDestroy();
Log.v("LEAK EXAMPLE", "onDestory");
}

View 3 Replies View Related

Android :: Simple Frame Animation - Memory Leak Activity

Apr 14, 2010

I am using a simple frame animation and when I exit and reenter my activity the activity is still referenced in memory.

//This is a sample activity I created to simulate the problem public class MemoryLeakActivity extends Activity {
@Override public void onCreate(final Bundle savedInstanceState) super.onCreate(savedInstanceState);
} @Override public boolean onKeyDown(final int keyCode, final KeyEvent event) {
final Intent i = new Intent(MemoryLeakActivity.this, LeakyActivy.class);
startActivity(i); return super.onKeyDown(keyCode, event);
} }

View 3 Replies View Related

Android :: Memory Leak - Service Stays Running In Background

Oct 15, 2009

I start a Service from an Activity, the user presses back, the Activity goes away and the Service stays running in the background. However the activity (and it's views) still stay in memory. I tested this with cupcake and G1. To reproduce I've made a simple program.

The activity:
package com.android.service_test;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
public class StartService extends Activity {
/** Called when the activity is first created. */
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
setContentView(R.layout.main);
startService(new Intent(getApplication(), RunningService.class));
} }

View 20 Replies View Related

Android :: Stack Tool For Android Dev - Debug Native C++ Code

Sep 12, 2010

I am writing an android game that involves some c++. I have a fairly repeatable crash that seems to be due to my c++ code

Looking at the page:
http://source.android.com/porting/debugging_native.html#Debug_Scenarios (right at the end)

it says to run the output through the "stack tool" - which I can find no trace of.. nor aproto.

View 3 Replies View Related

Android :: Debug Memory Leak Where Exception Instances In Heap Dump Have No Inbound References?

Sep 2, 2010

I've been trying to diagnose a memory leak in an Android application I'm writing. I got a heap dump loaded into Eclipse, but the results I'm seeing are very curious. There are some 20,000 instances of an exception (specifically, LDAPException from the UnboundID LDAP library) in the heap with no inbound references.

That is, they show up at the root of the dominator tree. The OQL SELECT objects e FROM com.unboundid.ldap.sdk.LDAPException e WHERE (inbounds(e).length = 0) returns over 20,000 results, totalling to nearly all of the heap. And yet, the GC runs before the heap dump and I can see that it's running in the console, repeatedly, during the execution of the leaky code. If these instances have no inbound refs, what could be keeping them alive?

I also tried doing a "shortest paths to GC" query. It shows one LDAPConnectionReader row retaining 2 instances, and ~20k LDAPException @ <addr> unknown rows with various hex addresses.

Update: I haven't had time to further diagnose this since posting it, and the bounty I posted is ending before I likely will. I'm awarding it as best I can now, lest the points go to waste. Thanks to everyone who looked into this! I will come back later and update again with the results of further diagnosis, when life is a little less hectic.

View 3 Replies View Related

Android : Android Custom View Bitmap Memory Leak

Nov 16, 2010

I've got a custom view in which I need to draw two bitmaps, one is a background, representing the image of a map and one is a pin which will be drawn on top/left position in canvas.

The both images are drawn onDraw and remain the same during the live of the activity that contains the view. After a while I get a OutOfMemoryError: bitmap size exceeds
VM budget

This means that I have a leak and the bitmaps don't get garbage collected. I asked this question before, but now the situation changed a little. I made a init method where I set the bitmaps I want to use but this still isn't a good approach, the error appears later, but still there.

Here is the code:

public class MyMapView extends View
private int xPos = 0;
private int yPos = 0;
private int space = 0;

private Bitmap resizedBitmap;
private Bitmap position;
private Bitmap mapBitmap;
public void destroy()

resizedBitmap.recycle();
resizedBitmap=null;
position.recycle();
position=null;
mapBitmap.recycle();
mapBitmap=null;

I call the setMapBitmap() and init() on onCreate of the activity that contains the view. In there I know what bitmap will be used as map. onPause of the activity I call the destroy() of the view. I still get errors.
I've read this this but I don't know how to adapt it on my case

I AM OPEN TO ANY OTHER SOLUTION. Please note that I need to resize the map bitmap (based on the height of the layout that contains it in mai activity) and still be able to draw the position on correct place.

View 1 Replies View Related

Sprint HTC Hero :: How To Indicate Memory Leak?

Oct 20, 2009

I use advanced task killer to keep things under control, and handcent in favor of the stock msg app. I notice that I have upwards of 80mb free memory after killing tasks after a reboot. Over the course of the day, with only my ignored apps running, that number shrinks to 48-50mb. Does that indicate a leak somewhere?

View 6 Replies View Related

Android :: Memory Leak / Android Cannot Reclaim Activity

Sep 1, 2010

I have a ListActivity containing an object I've defined called a MessageItem. I want to pass the data in this MessageItem off to a Service to do some stuff, but I don't want the Activity to be data bound to the Service such that Android can't reclaim the Activity if it needs to (ergo memory leak). What I'm doing is passing the MessageItem object to a method in a singleton class along with the application Context. The singleton method uses the application Context to start my Service. I pass to this Service an Intent. In this Intent, I put items from the MessageItem object like so:

intent.putExtra("subject", msg.getSubject());
intent.putExtra("summary", msg.getSummary());
intent.putExtra("created_on", msg.getCreatedDate());
intent.putExtra("read", msg.getIsRead());

Will this data bind my Activity to the Service the Intent gets passed into and cause a memory leak? Would this be a better implementation?:

intent.putExtra("subject", new String(msg.getSubject()));
intent.putExtra("summary", new String(msg.getSummary()));
intent.putExtra("created_on", new Integer(msg.getCreatedDate()));
intent.putExtra("read", new Boolean(msg.getIsRead()));

View 2 Replies View Related

Android :: Memory Leak In WebView On Android Application

Jun 28, 2010

I have an activity using an xml layout where a WebView is embedded. I am not using the WebView in my activity code at all, all it does is sitting there in my xml layout and being visible. Now, when I finish the activity, I find that my activity is not being cleared from memory. (I check via hprof dump). The activity is entirely cleared though if I remove the WebView from the xml layout.

I already tried a
webView.destroy();
webView = null;
in onDestroy() of my activity, but that doesn't help much.
In my hprof dump, my activity (named 'Browser') has the following remaining GC roots (after having called destroy() on it):
com.myapp.android.activity.browser.Browser
- mContext of android.webkit.JWebCoreJavaBridge
- sJavaBridge of android.webkit.BrowserFrame [Class]
- mContext of android.webkit.PluginManager
- mInstance of android.webkit.PluginManager [Class]

I found that another developer has experienced similar thing, see the reply of Filipe Abrantes on:
http://www.curious-creature.org/2008/12/18/avoid-memory-leaks-on-android/

Indeed a very interesting post. Recently I had a very hard time troubleshooting a memory leak on my Android app. In the end it turned out that my xml layout included a WebView component that, even if not used, was preventing the memory from being g-collected after screen rotations/app restart. Is this a bug of the current implementation, or is there something specific that one needs to do when using WebViews. Now, unfortunately there has been no reply on the blog or the mailing list about this question yet. Therefore I am wondering, is that a bug in the SDK (maybe similar to the MapView bug as reported:
http://code.google.com/p/android/issues/detail?id=2181)
or how to get the activity entirely off the memory with a webview embedded?

View 1 Replies View Related

HTC Droid Eris :: V3 Leak - Cannot Find Friend Stream

May 14, 2010

Since I have the v3 leak that came out today disguised as the official ota then where is my friend stream? what is it anyways?

View 9 Replies View Related

HTC Incredible :: Memory Leak / No Applications Running

May 3, 2010

When I first boot up the phone and check the memory (after shutting down all the apps I don't want running) I notice my phone has about 220-250 MB free after leaving the phone on for about 2-3 hours, with no activity on my part, that number gets smaller and smaller. I just rebooted my phone again because it was down to 125 MB free with no applications running.

Also, "Android System" is consuming 65% of my battery life. I realize that number is inaccurate after a fresh reboot so I played with the phone for a good 4 hours running apps and such, so that I could get a good test of how much the OS is eating up in comparison to other apps. 65% is a bit much no?

View 6 Replies View Related

HTC Hero :: Possible Memory Leak - Creating Swap Partition

Dec 5, 2009

In Taskiller the amount of free memory is showing between 90-105mb. Is this normal? I have deleted text messages, cleared cache, deleting emails from inbox and trash etc. I going to get rid of a few apps too, but its a bummer if I cant have many apps due to it affecting memory!

Also I understand that if flash it with the Modaco custom ROM. I can create a swap partition, does this help a lot? Also would I lose quite a lot of the HTC Hero features such as Sense UI for example if I flash it with Modaco?

View 9 Replies View Related

Sprint HTC Hero :: Memory Leak / How To Figure Out Without Wiping?

May 12, 2010

I think I've got a memory leak somewhere. I'm running DC v2.08.1 and I've got a low memory error. It may be because I flashed from Fresh 2.0D to this without wiping, but I'm not sure. Does anyone have any ideas how I can figure it out without wiping. I'd really rather not wipe again.

View 3 Replies View Related

Samsung Captivate :: Updated Launcher Pro - Memory Leak

Sep 6, 2010

Every since I updated launcher pro I get the updated service app running. Anyone else experiencing this problem?
LauncherPro Forum View topic - Newest version 7.7.1 memory leak?

View 2 Replies View Related

Motorola Droid :: Memory Leak - Rooted And Reflashed

Mar 1, 2010

I've been rooted and running roms for a while, starting when Pete was just coming out with his first Bugless Beauties. I've been through a bunch of ROMS, and installed them pretty much all the ways you can. Lately I've been on DroidMod 1.0. I had originally installed it without flashing /data. However, I noticed that my memory was getting pretty low, down to about 90 MB according to mini info widget. So I re-flashed, but this time I allowed it to wipe /data. Wow, what a difference. Immediately, I was up to almost 180M of memory! But it's been dropping steadily since then. I'm down to about 145M and that's with not loading very many new programs. I'm very conscientious about deleting cache, etc.

View 8 Replies View Related

HTC Magic :: Memory Leak - Phone Extremely Slow

Aug 8, 2010

I don't know if it's just me, but my HTC Magic becomes very laggy after few minutes of use. Cleaning the Market and Navigator's cache and stopping all background tasks with TaskPanel Lite helps, but then after few minutes of use it becomes extremely laggy again. Don't know what to do.
Note: When I clear all the background tasks and cache, TaskPanel indicates that the phone available memory is from 20 -> 24mb (seems to be to few) but after some minutes of use it goes to 3 -> 5 mb of available memory.

View 2 Replies View Related







Copyrights 2005-15 www.BigResource.com, All rights reserved