Hello,
Try to replace the following code:
UIImage img =
UIImage.FromFile( path ).Scale( 250,250 );
NSError err;
img.AsPNG().Save( filename, true, out err );
with:
NSError err;
using (UIImage img = UIImage.FromFile( path ).Scale( 250,250 )) {
img.AsPNG().Save( filename, true, out err );
}
to ensure the images are disposed immediately.
Regards,
Sebastien
On Mon, Jan 30, 2012 at 7:42 PM, ilmdaniel <[email protected]> wrote:
> Hy Guys,
>
> I have a UIViewController wich has on ViewDidAppear this code:
>
> ThreadPool.QueueUserWorkItem( delegate{
> make_thumbs();
> });
>
> the make_thumbs function is:
>
> void make_thumbs()
> {
> using( var ns = new NSAutoreleasePool() )
> {
> foreach( var c in Settings.Instance.Categories
> )
> {
> for( var i = 0; i < c.Pictures.Count;
> i++ )
> {
> //this is the existing
> bundled image path
> string path =
> c.Pictures[i].PicturePath;
> string folder =
> Environment.GetFolderPath(
> Environment.SpecialFolder.Personal );
> //this is the destination
> image file name
> string filename =
> Path.Combine( folder, c.Name + i + ".png");
> if( !File.Exists( filename ) )
> {
> UIImage img =
> UIImage.FromFile( path ).Scale( 250,250 );
> NSError err;
> img.AsPNG().Save(
> filename, true, out err );
>
> }
>
> }
> }
> }
> }
>
> The code is pretty easy, it has to load from a settings file all the
> existing images, scale them to 250x250 and save them with another name.
>
> The problem is that on the device ( teste on an iPhone 3g and an iPad ) it
> crushes after a while with memory warnings.
>
> --
> View this message in context:
> http://monotouch.2284126.n4.nabble.com/Save-UIImage-as-png-from-another-thread-tp4343087p4343087.html
> Sent from the MonoTouch mailing list archive at Nabble.com.
> _______________________________________________
> MonoTouch mailing list
> [email protected]
> http://lists.ximian.com/mailman/listinfo/monotouch
_______________________________________________
MonoTouch mailing list
[email protected]
http://lists.ximian.com/mailman/listinfo/monotouch