I have a Xamarin Forms (2.0) Android app where I\'m trying to show an image. I\'ve got an icon called icon-pages-r1.png
which I\'m trying to show using the foll
For iOS
Step 1: Add your image into ios -> Resources folder (If not create it)
Step 2; Right click image -> Properties -> Build action -> set as "Content"
When binding to the name of an image resource in android I found it must be:
For others who may end up here...
Make sure the image file is actually a part of the project (Resources\drawable) and that the build action is AndroidResource.
I had this issue.I set MSBuild project build output verbosity
as Diagnostic
. Now I found the following in my Output window when I searched for OOM.
ImageRenderer: Error loading image: Java.Lang.OutOfMemoryError: Failed to allocate a 571513228 byte allocation with 2140744 free bytes and 92MB until OOM
Now tried
png
image which has less than 200KB size and less than 1400 X 1050 size (for testing purpose).It worked fine.
Note: "MSBuild project build output verbosity" can be found under Tools -> Options -> Projects and Solutions -> Build and Run
General Checkpoints
Create a content page as follows
<StackLayout VerticalOptions="Center" HorizontalOptions="Center">
<Label Text="Pre" />
<Image Source="abstracttriangleg.png"
Aspect="AspectFill" VerticalOptions="End" HorizontalOptions="CenterAndExpand"/>
<Label Text="Post" />
</StackLayout>
bin
and Obj
files.Resources says:
Android supports bitmap files in three formats: .png (preferred), .jpg (acceptable), .gif (discouraged).
Compress PNG and JPEG files says:
You can reduce PNG file sizes without losing image quality using tools like pngcrush, pngquant, or zopflipng. All of these tools can reduce PNG file size while preserving the perceptive image quality.
The pngcrush tool is particularly effective.
To compress JPEG files, you can use tools like packJPG and guetzli.
References:
Android : Maximum allowed width & height of bitmap
Android:java.lang.OutOfMemoryError: Failed to allocate a 23970828 byte allocation with 2097152 free bytes and 2MB until OOM
Handling Bitmaps
You can't use hyphens in image names for Xamarin Android. Get rid of the hyphens (in both the file name and the Image reference) and you'll be set.