Re: WoResourceManager.stringForKey, slow app and out of memory errors
Re: WoResourceManager.stringForKey, slow app and out of memory errors
- Subject: Re: WoResourceManager.stringForKey, slow app and out of memory errors
- From: Chuck Hill <email@hidden>
- Date: Tue, 27 Nov 2007 11:45:44 -0800
IIRC, there is a problem with UTF-8 in that it does not always detect
UTF-8 properly and sometimes uses a western latin encoding for UTF-8
files. That is why people started to use UTF-16. Anjo should recall
more.
Chuck
On Nov 27, 2007, at 11:42 AM, Daryl Lee wrote:
Looks like this has been a bug in WO for quite a while and not a
regression in WO 5.4. Our Unicode/UTF-16 detection for .strings
files is faulty. Until we fix this, UTF-8 is working great. Thanks
for filing a bug Fabrice.
On Nov 22, 2007, at 1:18 AM, Fabrice Pipart wrote:
Hi dear list !
Like many I guess, I am adapting my project to Leopard and WO 5.4
I have many details to solve but one is more a problem than others.
My app is terribly slowed down under Leopard.
But now it becomes even more obvious why.
I very often get that kind of error after something like 20 clicks
in my app :
Caused by: java.lang.OutOfMemoryError: Java heap space
at java.lang.StringCoding$ConverterSD.decode(StringCoding.java:142)
at java.lang.StringCoding.decode(StringCoding.java:228)
at java.lang.String.<init>(String.java:405)
at com.webobjects.foundation._NSStringUtilities.stringForBytes
(_NSStringUtilities.java:110)
at com.webobjects.foundation._NSStringUtilities.stringForBytes
(_NSStringUtilities.java:147)
at
com.webobjects.foundation.NSPropertyListSerialization.propertyListFro
mData(NSPropertyListSerialization.java:1749)
at com.webobjects.appserver.WOResourceManager._stringsTable
(WOResourceManager.java:539)
at com.webobjects.appserver.WOResourceManager._cachedStringsTable
(WOResourceManager.java:567)
at com.webobjects.appserver.WOResourceManager._cachedStringForKey
(WOResourceManager.java:581)
at com.webobjects.appserver.WOResourceManager._stringForKey
(WOResourceManager.java:595)
at com.webobjects.appserver.WOResourceManager.stringForKey
(WOResourceManager.java:624)
at com.easyshadow.global.utilities.ApplicationUtilities.translate
(ApplicationUtilities.java:91)
My translate method does the following :
WOResourceManager rm = Application.application
().resourceManager();
return rm.stringForKey
(keyToTranslate,"MyStringsFileName",null,null,languages);
My localized .strings files are UTF-16.
I replaced the translate method with a wonder equivalent (or
almost since it does not initialize properly, but that was just to
prove woresourcemanager is faulty) :
ERXLocalizer.currentLocalizer().localizedStringForKeyWithDefault
(keyToTranslate);
My app becomes responsive again and does not crash any more.
Does anyone have an idea why this happens?
Fabrice Pipart
www.easyshadow.com
EasyMediaOnline
Digital Signage Software
Easyshadow
Palais de la Scala
1 avenue Henri Dunant
Suite 1155
MC - 98000 Monaco
Skype: fabrice.pipart
Tel. +377 97 98 21 04 (direct)
Fax. +377 97 70 88 07
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
40apple.com
This email sent to email@hidden
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
40global-village.net
This email sent to email@hidden
--
Practical WebObjects - for developers who want to increase their
overall knowledge of WebObjects or who are trying to solve specific
problems.
http://www.global-village.net/products/practical_webobjects
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden