Android :: Out Of Memory Error On Large Bitmaps And Activity Life Cycle

Jul 24, 2010

I have a scrollable map app which for now has a huge bitmap. It loads fine on startup, but when it looses foreground status and the user brings it backs again im getting an out of memory error. In onPause it trashes the bitmap using recycle, and marks it as null. The onResume checks to see if map==null and will load the bitmap back again, which is crashing the program despite me recycling the bitmap...Here are some bits of code. All of the other references to Bitmap map first check if it is null before loading/drawing..............

Android :: out of memory error on large bitmaps and activity life cycle


Android :: Managing Service Life Cycle Killed Due To Low Memory

Aug 25, 2009

I have a service that polls for data. To indicate this to the user I have a persistent notification in the statusbar. In some cases when the device goes low on memory it destroys the service but OnDestroy is not called. Later when there is available memory OnCreate is called. Is this normal behavior? I had hoped that OnDestroy would be called to I could remove the notification in the statusbar. Now the user thinks that the service is still running, while it has been stopped by the OS.

In order to restart the polling how do I know that the OnCreate is really a restart event and not first time creation of the service? I thought about checking for the presence of the notification in the statusbar, but I couldn't find a API to check if a notification was showing or not. I have not tried "SetForeground" on the service, since the service isn't that important to the user, but maybe that would minimize the problem.

View 4 Replies View Related

Android :: Activity Life Cycle

Nov 12, 2009

The main activity is running, then there is a interrupt. What was happended, onPause(), onStop() or other change of life cycle? 1. pressed the volume_down key and ringer volume toast occured, the life of main activity will not change? why? 2. short press the power key and the OS sleep,how about the activity ? 3. long press the power key and the phone options appear, how? 4. long press the home key and the tast list appear, how? 5. notifications curtain appear, how? 6. press the back key,how?

View 5 Replies View Related

Android :: Allocating Bitmaps And Out Of Memory Error

Jun 16, 2010

I'm running into OutOfMemoryErrors when allocating bitmaps. This is not something I can reproduce with emulators, and has been reported by a few beta testers with the HTC Incredible. I'm not sure I can solve this directly, and my best hope is to follow best practices for bitmaps and memory thereof. But looking for those best practices based on groups archives left me with more questions than answers. If anyone has a chapter about this in their book, I will buy the book. Here are the things I've mulled over so far:

1. I have a bitmap for a drawing buffer. It is about 3-4 megabytes on some devices. This is the biggest bitmap I have, and without it, I wouldn't be able to much of anything useful in my app. I am assuming that it would not be useful to use inPurgeable if this is a bitmap that is drawn into. Is this true?

2. Next biggest in the hierarchy are some bitmaps that are about 22K bytes and 256K unpacked. Since I believe about 25 of these might be used at one time, I have a cache with a size of 25. I am careful to use BitmapFactory.Options.InPurgeable, so I believe that could make them take only 22K each, but I don't see that as guaranteed. Maybe they are taking 256K each, which would put me in the danger zone. As they are cycled out of the cache, I call bitmap.recycle(). I think this a good practice. Is it?

3. Next are some resources with icon size 32x32 pixels. There are about 50 that could be used or reused. If I use code like this:

Drawable s = mCtx.getResources().getDrawable(R.drawable.symbol_icon);
Where s is a local variable to rendering. Suppose I call this 37 times. Am I to assume that Android will do something smart like create only one bitmap for this resource even if it is used 37 times? Or am I to assume that Android will do something stupid like create 37 bitmaps and keep references in an obscure location that will prevent garbage collection? Do I need to get more access to these bitmaps and do something smart myself?

4. Finally are some other icons used for menus and ImageButtons. Most are declared in layout files - so I don't touch the bitmaps directly.

I'd like to make my memory usage more efficient, but don't want to spend time on things that will amount to shuffling chairs on the Titanic. And how do I best measure this usage? Interestingly enough, I've tried using the Allocation Tracker and it says I haven't allocated a single bitmap. In light of the above, I don't think that's right.

View 11 Replies View Related

Android :: Can't Grok Activity Life Cycle

Jun 6, 2010

I am having a really hard time grokking the Activity life cycle concept. The main issue is with onStop() and onDestory() not being guaranteed to be called before the process is killed. I though I had it figured out when I saw that the system calls onSaveInstanceState() when it's shutting down the activity to claim some memory. Thing is that the docs says onSaveInstanceState() will be called before onPause() but how does the system know at this point whether the activity will be killed by the system or the user?

Here is a use case:

1) My activity starts up and is running. 2) At some point I want to show a web page so I use an Intent to start an activity. 3) The web browser covers my app/activity so I would expect onPause() to be called followed by onStop(). At this point it's my understanding that all bets are off and I can be killed at any point without be called. 4) Since the system has enough memory onSaveInstance() doesn't get called. 5) The user presses home and decides to open some app which requires a lot of memory. 6) System wants more memory and decides to kill my app but I am already stopped (onPause() has been called).

View 1 Replies View Related

Android :: Bitmaps And Out Of Memory Error (Allocating Back Buffer)

Sep 2, 2010

We are also having occasional problems with OutOfMemory errors in createBitmap. It tends to happen after a few orientation changes when we are allocating the backbuffers. I have made it so that it calls recycle() on the old bitmaps (if any exist) and does a System.gc() before allocating the new backbuffers. What we are doing is allocating a backbuffer that is twice the width and height of the screen so that we can quickly zoom in and out.

With a 854x480 screen this would presumably be 6.25MB in size. The problem as I see it is the 16 or 24MB maximum heap size per process. This is unreasonably small, especially on devices that have 512MB of RAM. Ideally the max heap size should be something like 64MB, or perhaps allow apps to request a larger heap size from the user.

View 14 Replies View Related

Android :: Activity Life Cycle - Serialization Taking Too Long

Jul 27, 2009

Finally after many days of getting StackOverflowError, I've tracked down the issue and fixed it, only to find that my game's serialization takes about 5 -10 seconds on the emulator and most likely around that in the target. So far my the lifecycle of my game is as follows

onCreate - check if serialization file exists, if it does, de- serializes it. (~ 5-10 seconds) onPause - if the game is not complete, then serialize it (~ 5-10 seconds) I remember reading somewhere that another activity's onResume will NOT get called UNTIL the previous activity's onPause has ended. So I am worried that my game is delaying another activity that wants to start from doing so i.e like a phone call etc. I think speeding up the serialization is not going to be feasible, so any ideas on what I can do? Can I serialize in the onDestroy instead of the onPause? I read that the onPause is the only safest place to store the state.

View 8 Replies View Related

Android :: Handle Activity Life Cycle Involving Sockets?

May 30, 2010

I have an Android activity which in turn starts a thread. In the thread I open a persistent TCP socket connection. When the socket connects to the server dynamic data is downloaded. The thread sends messages using Handler-class to the activity when data has been received. Now if the user happens to switch from portrait to landscape mode the activity gets an onDestroy call. At this moment I close the socket and stop the thread. When Android has switched landscape mode it calls onCreate yet again and I have to do a socket re-connect. Also, all of the data the activity received needs to be downloaded once more because the server does not have the ability to know what has been sent before, i.e. there is no "resume" feature.

Thus the problem is that there is alot of data which is resent all the time when landscape mode is changed. What are my options here? Should I create a service which handles the socket traffic towards the server thus I always got all the data which the server has sent in the service. Or should I disable landscape mode all together perhaps? Or would my best bet be to rewrite my server which is a VERY BIG job

View 1 Replies View Related

Android :: Life Cycle - ListActivity

Aug 18, 2010

When my ListView activity loads it creates the Adapter which fills the screen as it should do. Is there an event or way to find out when the Adapter has finished getting enough data to fill the screen. I want to show a spinner the first time the Activity loads and have it go away once the screen has its first load of data from the Adapter.

View 2 Replies View Related

Android :: The Life Cycle Of Static

Mar 7, 2010

When starting a new Activity, I want to pass a complex object and do so by using this approach:

MyActivity.COMPLEX_OBJ = myComplexObj; // which is definitely NOT NULL! Intent intent = new Intent(); intent.setClass(this, MyActivity.class); startActivity(intent);

and then in MyActivity:

@Override public void onCreate(Bundle bundle) { if (COMPLEX_OBJ == null) { // report to Flurry ... } ...

}

View 17 Replies View Related

Android :: Understanding ContentObserver Life Cycle

May 9, 2010

The core of this Widget is an AppWidgetProvider which registers a ContentObserver to the CallLog content URI. This means that my widget is updated every time a call (incoming, outgoing, missed) is recorded. This works fine for a while, until *something happens* and my ContentObserver stops getting called (no error message seen in trace). I would rather that this ContentObserver persisted until the user removes the Widget.

I am guessing that my JVM has been destroyed (due to low memory?), ContentObserver garbage collected and/or ContentObserver unregistered (or just pointing to nothing), but I don't know how to debug this without restarting my code (and thereby re-registering). I can hide this bug by periodically re-registering my Content provider, but I would rather understand the cause and have a more optimal solution..............

View 3 Replies View Related

Android :: Application Object Life Cycle

Sep 30, 2009

When I start my application I prompt the user for the password and use it to instantiate my data adapter object that I will need throughout the application. So I store it in Application object. My activity A prompts user for pwd, instantiates data adapter, sticks it to Application object and later starts activity B which in turn starts the built int gallery activity. When fooling around with gallery and capturing pictures for some time coming back to activity B I discover that Application.myDataAdapter is null. I found out that during me playing with camera the Application.onTerminate() method was called. So it seems like Android killed my process and when B was supposed to become visible it started a process again jumping directly to activity B bypassing A? Is that how it works? Should I then never assume that Application.myField will survive? and init it not only when A is started but whenever I discover it is null?

View 7 Replies View Related

Android :: Understanding Life Cycle When Screen Goes Off And On?

Aug 4, 2010

My device is a Nexus One with 2.2 and I have tested two projects, one on 1.5 and one on 2.1. Problem: I have trouble to understand the life cycle of my application when the screen is turned off and on. Here is my output

// activity starts
08-04 17:24:17.643: ERROR/PlayActivity(6215): onStart executes ...
08-04 17:24:17.643: ERROR/PlayActivity(6215): onResume executes ...
// screen goes off
08-04 17:24:28.943: ERROR/PlayActivity(6215): onPause executes ...
08-04 17:24:32.113: ERROR/PlayActivity(6215): onStop executes ...
08-04 17:24:32.113: ERROR/PlayActivity(6215): onDestroy executes ...
08-04 17:24:32.983: ERROR/PlayActivity(6215): onStart executes .....................

View 3 Replies View Related

Android :: Track Memory Consumption (Bitmaps)?

Mar 26, 2009

How can one track memory consumption in Android? The Android "Heap" view in Eclipse and java.lang.Runtime methods seem failing for my purpose. I tried to figure out how much memory my app consumes in order to make decisions for future directions. Most of the memory goes into Bitmap objects. Just to test memory consumption I created huge bitmaps in a Loop and logged the java.lang.Runtime memory values: created bitmap (610k free, 2371k total, 16384k max) created bitmap (615k free, 2371k total, 16384k max) created bitmap (615k free, 2371k total, 16384k max) created bitmap (615k free, 2371k total, 16384k max)

Nothing seems to hapen, but on the fifth Bitmap: java.lang.OutOfMemoryError: bitmap size exceeds VM budget at android.graphics.Bitmap.nativeCreate(Native Method) at android.graphics.Bitmap.createBitmap(Bitmap.java:343) at de.greenrobot.colorball.GameView.init(GameView.java:86)

This seems confusing at first. Is java.lang.Runtime the right place to check application memory stats in Android at all? Are Bitmaps allocated outside the app's heap? How can I track it?

View 4 Replies View Related

How To Make Launcher Have A Long Life Cycle

Jan 2, 2014

My app is a launcher. It gets killed frequently by OS when it running in background. It has to restart and reload data, which taks a long time.How to make it get less chances of being killed ?

View 1 Replies View Related

Sony Ericsson Xperia X10 :: Further Updates After 2.1 - Life Cycle?

Aug 16, 2010

The Xperia X10, X10 mini and X10 mini pro smartphones will all receive software upgrades during their lifecycle to improve performance and add new communication and entertainment experiences. From Q3 2010 onwards, the Xperia™ X10, X10 mini and X10 mini pro smartphones will be upgraded to run on the Android 2.1 operating system in selected markets. The Xperia™ X10's position as the best multimedia Android smartphone will be strengthened through the addition of HD video recording as part of the same Q3 upgrade. A further upgrade to the Xperia™ X10 in Q4 will make it possible to connect wirelessly to and display content on your television and enhance the Timescape™ and Mediascape applications..................

View 2 Replies View Related

Android :: Insufficient Memory Error When Launching Application For Second Time After Calling Finish - In Main Activity

Apr 21, 2009

I have made a game with just one activity.. I just replace the views when I want to change screen. The game runs fine for a really long time inspite of what ever I do within the game.

But once I close the main game, by calling finish on the only activity in the application, and then when I start again, within the next 30 secs it crashes telling VM budget exceeded..

When I don't have a dispose() or a delete method in JAVA.. how the, am I supposed to remove the objects used in memory.. moreover I have android:launchMode="singleInstance" in my manifest

View 4 Replies View Related

Android :: Static Fields In Activity Classes Guaranteed To Outlive Create / Destroy Cycle?

Oct 28, 2009

I frequently run into the problem that I have to preserve state between several invocations of an activity (i.e. going through several onCreate()/onDelete() cycles). Unfortunately, Android's support for doing that is really poor. As an easy way to preserve state, I thought that since the class is only loaded once by the class loader, that it would be safe to store temporary data that's shared between several instances of an activity in a static Bundle field. However, occasionally, when instance A creates the static bundle and stores data in it, then gets destroyed, and instance B tries to read from it, the static field is suddenly NULL. Doesn't that mean that the class had been removed and reloaded by the classloader while the activity was going through a create/destroy cycle? How else could a static field suddenly become NULL when it was referencing an object before?

View 2 Replies View Related

Android :: Out Of Memory Exception On Transferring Large File To DataOutputStream

Apr 28, 2009

I need to post some files on my server, it works fine for small files like 1mb but when i try for more than 4 mb ; it force close because of memory overload.

Have a look on my code below:

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

View 4 Replies View Related

Android : Out Of MemoryError With Bitmap / Working With Large Images With No Memory

Jul 22, 2010

I'm developing an image editor for Android. When I do some operations with small pictures (600x600 - 1024x768), the program work well. But when I do some operations with big pictures, I always obtain an OutOfMemory Error. I read read many post trying to have the image in memory. Also I looked at the Android's Gallery, trying to simulate the effect of loading the image with lower quality and get the complete quality after a while. But I doesn't get to work with large images.

I thought of using the parameter inSampleSize but I raised the problem of having to perform operations on the image and save it with the original size, so it no longer serves me. The only thing I've done is use the parameter inJustDecodeBounds and display an error to the user if the image exceeds the available memory.

Is there any possibility of working with large images with no memory problems? I need urgent help.

View 19 Replies View Related

General :: Battery Life Would Be Affected By Playing Large Music Files?

Mar 23, 2012

I've been watching my battery life recently as I hate my phone dying during the middle of the day and was wondering if battery life would be affected by playing large music files?

I listen to spotify quite a bit and haven't really noticed my battery severely affected by playing music for a long time but this week I was listening to a podcast which was 160MB (2Hr music podcast if you were wondering) and my battery life plummeted. This would also correlate then to why my battery life plummets when listening to other large podcasts.

View 4 Replies View Related

Android :: Store A Large Dictionary With Low Memory Footprint - Fast Lookups?

Feb 16, 2010

I'm developing an android word game app that needs a large (~250,000 word dictionary) available.

I need:reasonably fast look ups e.g. constant time preferable, need to do maybe 200 lookups a second on occasion to solve a word puzzle and maybe 20 lookups within 0.2 second more often to check words the user just spelled.

Lookups are typically asking "Is in the dictionary?". I'd like to support up to two wildcards in the word as well, but this is easy enough by just generating all possible letters the wildcards could have been and checking the generated words (i.e. 26 * 26 lookups for a word with two wildcards). as it's a mobile app, using as little memory as possible and requiring only a small initial download for the dictionary data is top priority.

My first naive attempts used Java's HashMap class, which caused an out of memory exception. I've looked into using the SQL lite databases available on android, but this seems like overkill.

View 7 Replies View Related

Android :: Access Large Layout In Activity?

May 13, 2010

I am having layout which I want to render on to different sizes of mobile (like WVGA854). Resource structure is like

reslayoutmain.xml
reslayout-largemain.xml

By default it is taking layout main.xml file itself of layout. Its not pointing to layout-largemain.xml. its throwing exception:Activity can not start resource not found. So can any one guide me how can I acheive this and how to support mutiple screens with different layouts like large,small and default along with images specified in respective dip folders.

View 1 Replies View Related

General :: Google Play Music - Hogs Large Chunks Of Memory Storage?

Nov 26, 2013

Yesterday i streamed a few tracks whilst testing an FM transmitter for my nexus 5.everything worked perfectly but today i went out and about and as another test i turned off WiFi and mobile data and then went into play music and all those tracks i streamed yesterday played !!!! .

i checked the tracks and none of them were down as being stored for offline access on my nexus 5.

i checked my music folder .....nothing there

then i checked my apps and found that play music was taking up nearly a Gigabyte in data storage.i cleared all the app data and cache went back into play music and had to reestablish my google account and found that now none of the tracks were playable until i switched wifi back on.

this shouldnt be happening... unless i select the download link in a track to keep it on my phone the music should just stream.

View 5 Replies View Related

General :: Abootimg Error - Value Too Large For Defined Data Type

May 3, 2013

I'm trying use abootimg to extract the bootimg.cfg file but it keeps giving me the error:

Code:
~/Projects/dualboot_bt_android/BT5-GNOME-ARM$ abootimg -x data.img bootimg.cfg
data.img: Value too large for defined data type

I think I'm getting this because the data.img is 4.9 gbs in size, but I don't know how to resize the it...

Can't believe I overlooked it. I tried to extract it from the data.img instead of the boot.img like I was supposed to. No wonder it didn't work.

View 2 Replies View Related

Android :: Main Activity To Browser Activity Error

Nov 7, 2010

I have a main activity, then i call a new activity intent from this. Lets call this SecondActivity. Then from my secont activity i call a browser intent. Then my browser intent call my second activity's onNewIntent method.Evereything work fine, but when i click on "back" button on my phone on my second activity, i will not going to my main activity, but the browsers activity, why?

View 1 Replies View Related

Android :: Large Screen On 1.6 - All XML Files Of Layouts In Layout-large Can't Load

Oct 23, 2009

I want make it support multiple screens(small,normal and large).I am 100% sure the all of layouts are working perfectly now, but large screen,the problem is that all XML files of layouts in layout-large can't load,The platform always load default XML file(these are under layout folder) at large screen environment.

View 4 Replies View Related

Android :: Scrolling Large Lists Of Cursor-based Adapters Is Faster Than Much Smaller Lists Of In-memory Adapters

Nov 3, 2010

I have an Android app that has both CursorAdapter based ListViews (backed by sqlite) as well as custom BaseAdapter based ListViews which are built on the fly from JSON pulled down from a server.

The data displayed in both is identical - an image and a couple of TextViews. My Cursor-based ListView has 3000 rows, the JSON-based ListView has about 30. However, scrolling down the list is significantly faster for the Cursor-based adapter. For the JSON-based lists, the data is all fetched before the rows are made visible. Images for both types of lists are downloaded on-demand.

I have both ListViews configured identically - both with fastScrollEnabled, scrollingCache and smoothScrollbar set to true.

I'm looking for leads on how to go about trying to figure out what's going on here and to potentially fix it so that the JSON-based ListViews as as fast as the Cursor-based ones.

View 1 Replies View Related

Android :: Number Preferences In Activity - Game Of Life Program

Jul 8, 2010

What I want to do is I am working on a game of life program. I want to take the time delay and make it a preference, but I want to make it available for people to type in a specific time. The number can be in miliseconds or seconds. However I'm a little stuck on how to proceed, I haven't been able to find a simple preference that already handles this, but there might be one. Is there an easy way to make this preference and confirm that the entered data is an integer or afloat?

View 1 Replies View Related

Samsung Behold 2 :: What Steps Can Take To Optimize For Speed / Internal Memory And Battery Life?

Apr 23, 2010

Newb here joining the forum. I have a couple of questions about my stock B2. First, what steps can i take to optimize for speed, internal memory and battery life? i am getting about 8-10 battery life hours. Is this normal? And, are there any lets say core apps to recommend?

View 3 Replies View Related







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