cancel
Showing results for 
Search instead for 
Did you mean: 

PDA RAM memory usage

Former Member
0 Kudos

Hi all,

We have created a PDA application running on <b>SAP Mobile Infrastructure 2.5 Service Pack 18 Patch 1</b> on <b>Windows Mobile 5 </b>and Windows Mobile 2003 SE.

<b>Problem description:</b>

The problem is the RAM memory size. For WM 2003 there is no problem because there are enough PDA's with 128 mb RAM size, but the problem is there is no normal PDA running on WM 5 with 128 mb RAM size. There are only devices with 64 mb RAM.

So we are having some problems with the RAM size, and I want to watch what is in the RAM and I want to see the usage of the RAM easily when I use my application. I can switch to the Settings --> Memory and see the values, but this is not reliable and I only see the usage and not what's in the RAM.

<b>Questions:</b>

- Is there a tool to watch the memory and what's in the memory?

- Can someone give me some information how we can store less in RAM and more in ROM without getting a slower application?

Thanks in advance,

Bart Elshout

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi All,

I've got new PDA Device from Symbol for testing MAM 3.0 SR3. I could get MAM up & running on it including the digital signature, which would cause client to crash if used on the same device with 64 MB RAM only!!

The device is Symbol MC 70 with 128 MB RAM & 128 MB flash memory. The MC 70 is running under WM 5.0 latest build.

Be sure that Symbol (Motorola now) delivers it in your country.

regards

Ahmed

Former Member
0 Kudos

Hi all,

Thanks for the answers, but the problem is that there are some PDA's with 128 MB RAM and 128 mb flash memory, but these are really expensive (the business is not happy with this).

We have to wait or they have to spend a little bit more money.

Thanks and kind regards,

Bart

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi,

I have discovered where the problem was located, but I have another question about the memory usage.

Can we use the memory of an SD card as program/work memory? I know we can use it as storage memory, but we want to use it as program/work memory, because of a shortage.

I hope someone could give me more information. Thanks in Advance.

Kind Regards,

Bart Elshout

Former Member
0 Kudos

Hi All,

I have a third question:

- What is MAM 2.5 loading in RAM when you go inside the application?

When you click on the link in SAP Mobile Infrastructure I can see the available RAM size is going down with 7 MB? So it is loading something in his RAM memory, but what is it?

I hope someone can help me with my questions. Thanks in advance.

Bart Elshout

Former Member
0 Kudos

Hi,

we encontered the same difficult to find out PDA devices with 128 MB RAM.

Anyway since on Win Mobile 2005 were reported performance problems with MI/MAM, we preferred to stay on Win Mobile 2003.

Which PDA model are you using ?

regards

Former Member
0 Kudos

We are testing on HP iPAQ hx2700 series, but the RAM size of 64 mb is to low....We need the 128 mb of an Windows Mobile 2003 device.

But the only problem is to buy 4000 the same devices running on Windows Mobile 2003 so we decided to move on and make the application available for WM5.

I hope someone can help me with my questions.

Thanks,

Bart

Former Member
0 Kudos

..we tested 64 MB of RAm on PDA and it was not enough for our data scenario.

We try to deinstall all the unsused standard programs from the PDA, but it's not possible.

The problem is that the PAM from SAP continue to say that 64 MB are enought.

You can't controll what the MAM is loading in memory while is working.

Former Member
0 Kudos

hello bart,

>- What is MAM 2.5 loading in RAM when you go inside the application?

when you click on MAM, your application get initialized. other than the application

runtime footprint (i.e. loaded classes and instances), MAM has also some cached

data which sometimes consumes more of your RAM when you have more data

volume in your device.

regards

jo

Former Member
0 Kudos

Hi Jo,

Thanks for your reply.

I am really interested in the cached data. Do you know which data is automatically cached?

Is it the JAR file with the classes?

Is it the service order data?

Is it something else?

Does anyone has some details for me about the things MAM is caching when you go inside the application from the SAP MI home screen? It would help me to understand what kind of data our application is loading into his RAM memory.

Thanks in advance,

Bart

Former Member
0 Kudos

Hi Jo,

Can you please tell me more about the loaded classes and instances? Are all classes preloaded? So is it loading the complete MAM.JAR in its RAM memory?

Does anyone knows anything about this question or the questions in my previous post?

Thanks in advance,

Bart

Former Member
0 Kudos

Hi Bart.

AFAIK the whole JAR is loaded at startup. Furthermore all the customizing data are loaded. The order data and so on are loaded when you access them the first time.

By the way, we had a Symbol device with WM05 and 64MB RAM / 128 MB ROM for testing. I was able to start MAU on that device without a problem.

Cheers,

Sascha

Message was edited by:

Sascha Dingeldey

Former Member
0 Kudos

hello bart,

sorry for the late response.

which version of MAM are you using? former versions of MAM has some customizing

and configuration data cached when the application is started. also, the application

uses XML a lot for its MVC architecture. and these doc trees seem to consume

some part of RAM.

i heard that from the newer version of MAM, they have decreased some of these

cached data and have changed the framework as well to make it lighter and more

performant...

regards

jo

Former Member
0 Kudos

Hi Jo,

Thanks for your answer.

I am have tested two applications:

- MAM 2.5 on SAP MI25 SP18

- Our own application running on SAP MI25 SP18

Do you know how SAP decreased the cached data with the new MAM version?

Which XML file and doc trees is it loading in RAM? (meRepMeta.xml, listDef, web.xml)?

The problem is not running MAM 2.5 on Windows Mobile 5, but our own application, because it is a little bit bigger. I hope you can give me some hints how I can downgrade the RAM loading while entering the application, because this is to much to run on WM5.

Thanks in advance,

Bart Elshout

Former Member
0 Kudos

hi bart,

had you tried profiling you application? profiling will help you in looking which

portion of the code was consuming a lot of RAM and time.

some common ways to counter heavy application

1) lazy loading

this is very effective in a sense that only the classes required for certain

functionalities are loaded and instantiated. this can be realized by using reflection

and customized class loaders.

2) avoid caching smartsync data

when using smartsync, i don't recommend caching of your syncbo data. the lower

layer already have a cache (esp fileIO).

3) avoid rewrapping if possible

wrapping a syncbo or row into another class will make your class instance bigger.

and caching the fields in it, again will also consume some RAM.

that's only for the part of the data. now you have to consider your UI also. are you

using any UI framework?

regards

jo

Former Member
0 Kudos

Hi Jo,

For your information:

Our application is based on MAM, we have build many extra screen and we have much more functionality. So we are using the same strategy and UI framework as MAM.

Also for your information:

MAM 2.5 is loading 7 MB into his RAM memory, but our application is loading 20 MB into his RAM memory. So it is a huge difference.

answers:

1)

Can be very helpful, but I have to search how we can do this.

2)

We are using a DB2E. I think we are caching in the same way as MAM 2.5 does this, but I don't know how much syncbo data MAM 2.5 is caching automatically.

3)

Yes we are doing this, because MAM was also doing this.

Thanks,

Bart Elshout