How to Implement Image Compression On Android

แชร์
ฝัง
  • เผยแพร่เมื่อ 26 ธ.ค. 2024

ความคิดเห็น • 25

  • @leanngugi
    @leanngugi 2 หลายเดือนก่อน +26

    If I wasn't poor I'd buy your courses. Thanks for the things you give us for free.

  • @lg.studio
    @lg.studio 2 หลายเดือนก่อน +1

    Earlier this year did a similar thing in my the I was working on, but my solution was to also down-scale it to a limited max 1600px (longer edge), as the project allowed to use smaller resolution images for the given purpose. As many new phones make too high resolution images for many purposes, down-scaling worked much better for me.

  • @clementjoymasinamela4244
    @clementjoymasinamela4244 2 หลายเดือนก่อน +3

    Very useful tutorial, thanks. Can you please do a tutorial on video compression.

  • @Alexmez
    @Alexmez 2 หลายเดือนก่อน

    Best android mentor and teacher, 💯💯💯

  • @sijanneupane
    @sijanneupane 2 หลายเดือนก่อน

    done and dusted! ❤

  • @vengateshm2122
    @vengateshm2122 2 หลายเดือนก่อน +1

    Can we add ensureActive() immediately after withContext block or it should be below suspending function?

  • @tarsilacostalonga
    @tarsilacostalonga 2 หลายเดือนก่อน

    Great one! Thanks ❤

  • @esekaemmanuel7295
    @esekaemmanuel7295 2 หลายเดือนก่อน +1

    Thank you ❤

  • @anudeepananth
    @anudeepananth 2 หลายเดือนก่อน +1

    Can you please plz post more Compose Multiplatform videos

  • @subbubiruduraju9454
    @subbubiruduraju9454 2 หลายเดือนก่อน

    As different images have different clarity, How can we determine quality and total compressed bytes beforehand to avoid blurred images? Or know if the image can still be compressed more?

  • @gauravkumar-bs3pf
    @gauravkumar-bs3pf 2 หลายเดือนก่อน

    I love learning with you, thanks for this! I just wanted to ask, do you have any tutorial on Speech to Text in Android?

  • @berlinisaiah6892
    @berlinisaiah6892 2 หลายเดือนก่อน

    Thank you very much

  • @pawandeepsingh6365
    @pawandeepsingh6365 2 หลายเดือนก่อน

    Hey Philipp, Could you please make a video how to navigate back from a page to previous page, by swiping left to right, current page shifts left to right revealing previous page below? Please

  • @natanell777
    @natanell777 2 หลายเดือนก่อน

    Why are you using remember in MainActivity? It’s not like a counter where the value can change. How can recomposition happen here?

  • @John-qt6qk
    @John-qt6qk 2 หลายเดือนก่อน

    Thanks

  • @bkshows9141
    @bkshows9141 หลายเดือนก่อน

    Sir , I new in android jetpack compose if you add compress image show after selecting in this video then very thank of you

  • @shubhamkokatnur6994
    @shubhamkokatnur6994 2 หลายเดือนก่อน

    is this possible in java also?

  • @DanishShahzad-us6he
    @DanishShahzad-us6he หลายเดือนก่อน

    What about the video compression

  • @ОлексійКондрашов-ю3и
    @ОлексійКондрашов-ю3и 2 หลายเดือนก่อน +2

    Compressing in loop leads to OutOfMemory and not the best solution obviously.
    Trying to compress images with more than 20-30 mb leads to app crash

    • @PhilippLackner
      @PhilippLackner  2 หลายเดือนก่อน +5

      The app compressed 20MB images for me without any issues. Since the loop uses a new stream with each iteration, the previous one can be freed up. Therefore, there are allocations for the input byte array, the bitmap and the currently compressed byte array which even for a 20MB image is 50-60MB in memory allocations and is not a lot given what modern devices have as RAM.

    • @ОлексійКондрашов-ю3и
      @ОлексійКондрашов-ю3и 2 หลายเดือนก่อน

      ​@@PhilippLackner ​ 20 mb is a compressed image, but when processing it converts to uncompressed bitmap that could take more than 1gb of RAM depends on resolution.
      Images in Android are displayed with ARGB888 with 4 bytes for 1 px.
      if we have image resolution 20000x20000 ( I really have one, it is space photo) Bitmap from this image has 1.5 GB size.
      I checked just know - if I open default image in MS Paint - it take 100-140 mb of RAM (In Task Manager)
      But if i open the large one - it takes 3.6 GB of RAM. The same happens when you just loading and compressing image in loop but several times!
      I understand that this case with 20000x20000 image is super rare, but if you develop serious apps with many active users your app will crash if try to load this image.
      The only workaround is to use BitmapOptions.inSampleSize and already load much more smaller image. For example Telegram compresses all images to fixed 1280px by the larger side. And Telegram doesnt crash when trying to load this image. But if use "loop" approach - it will crash 100%

  • @topwings2836
    @topwings2836 2 หลายเดือนก่อน

    Course price is 9900€ then as per india Rs.832369 ruphee,Pls someone calrify me

  • @ka61er
    @ka61er 2 หลายเดือนก่อน

    😂