DreamPiggy
8ac6e08476
Change prefetchURLs from nonatomic to atomic to avoid multi-thread access crash
2017-11-29 12:51:34 +08:00
DreamPiggy
11ffd5a3e7
capture currentURL instead of using index to access to avoid race condition
2017-11-29 12:51:34 +08:00
DreamPiggy
dbc6b6995d
Merge pull request #2116 from dreampiggy/feature_invalidate_SDWebImageDownloader
...
Add a public API to allow user to invalidate URLSession used in SDWebImageDownloader to avoid memory leak on non-singleton instance
2017-11-28 20:17:57 +08:00
DreamPiggy
d9aaf001ca
Grab the poster image instead of image itself to avoid an UIAnimatedImage been set
2017-11-27 11:40:46 +08:00
DreamPiggy
f8142a1b8f
Update the documents
2017-11-27 00:50:29 +08:00
DreamPiggy
a7c8ce5864
Update tests to invalidate session after usage
2017-11-27 00:37:20 +08:00
DreamPiggy
ae96351439
Add a public API to allow user to invalidate URLSession used in SDWebImageDownloader to avoid memory leak on non-singleton instance
2017-11-27 00:36:31 +08:00
DreamPiggy
09750dcd2a
For FLAnimatedImageView, Use dispatch_group to maintain setImageBlock and completionBlock order. Ensure that completionBlock is called after that animatedImage created
2017-11-17 15:58:43 +08:00
DreamPiggy
a9551b8591
Provide another way to enhance FLAnimatedImageView performance fog GIF images
2017-11-16 19:43:36 +08:00
DreamPiggy
7b649a8bbf
Revert changes for FLAnimatedImage performance enhancement.
...
Keep the refactored code for future maintain
2017-11-16 18:32:45 +08:00
Bogdan Poplauschi
5872bd660b
Merge pull request #2101 from dreampiggy/performance_byte_align
...
Byte Alignment to 64 bytes to reduce memory usage
2017-11-11 08:43:21 +02:00
DreamPiggy
81a7c3a160
Byte Alignment to 64 bytes to let Core Animation not to call extra aligned_malloc and reduce memory usage
2017-11-11 05:12:58 +08:00
Bogdan Poplauschi
6b6bc09f0e
Merge branch 'master' into 5.x
2017-11-07 09:49:05 +02:00
Bogdan Poplauschi
0f73155d09
Bumped version to 4.2.2 + updated CHANGELOG
2017-11-07 09:21:55 +02:00
Bogdan Poplauschi
6972e600ec
Merge pull request #2096 from dreampiggy/demo_iOS_progress
...
Update our iOS demo to modern way, add a UIProgressView to show image download progress
2017-11-05 12:27:52 +02:00
Bogdan Poplauschi
8f04ef7394
Merge pull request #2095 from dreampiggy/fix_progressive_webp_decode_y_zero
...
Fix WebP progressive decoding may do extra calculate
2017-11-05 12:24:39 +02:00
DreamPiggy
17616c999b
Embedded SDWebImage framework to all platforms in our demo project to allow real device run because it’s a dynamic framework
2017-11-05 17:23:35 +08:00
DreamPiggy
dfe68a5db6
Update demo to use modern way of image assets, and view layout for rotation
2017-11-05 15:23:32 +08:00
DreamPiggy
2dd61393ed
Fix “linking against dylib not safe for use in application extensions” warning for watch extension demo
2017-11-05 07:58:44 +08:00
DreamPiggy
8e46c13bcd
Add empty launch storyboard to allow view on iPhone X
2017-11-05 07:58:05 +08:00
DreamPiggy
efb7c4ebf9
Update our iOS demo to modern way, add a UIProgressView to show image download progress
2017-11-05 07:22:26 +08:00
DreamPiggy
98f020f610
Fix WebP progressive decoding may do extra calculate because that libwebp will output last_y to zero, which means current image data is not enough to decode first stride
2017-11-05 06:46:24 +08:00
Bogdan Poplauschi
821c2f3b8a
Merge pull request #2093 from dreampiggy/fix_completion_block_memory_called_next_runloop
...
Fix that completion block and set image block are called asynchronously for UIView+WebCache
2017-11-03 23:49:28 +02:00
DreamPiggy
0eff98e4e7
Fix that completion block and set image block are called asynchronously in UIView+WebCache. Add a more common macro to do current queue check
2017-11-04 04:16:33 +08:00
Bogdan Poplauschi
fd17cb87bc
Merge branch 'master' into 5.x
2017-11-01 11:18:06 +02:00
Bogdan Poplauschi
b2e5317666
Bumped version to 4.2.1, updated CHANGELOG
2017-10-31 20:39:19 +02:00
DreamPiggy
19f45a3cf4
Feature refactor built-in coders and support animated webp on macOS ( #2082 )
...
* Refactor code. Move the C global function to a new SDWebImageCoderHelper class.
1. Create two method for animated image parse. Provide the way to allow animates on macOS
2. Create a new class called SDWebImageFrame to allow abstract usage for animated image
3. Fix EXIF orientation method will crash on iOS 7 because it’s a iOS 8 above API
* Change sd_imageLoopCount to retrieve GIF loop count for NSImage on macOS
* Adopt the refactor code, change our build-in coder with that coder helper method to reduce complexity
* Update the demo project on macOS to show animated WebP
2017-10-31 20:34:05 +02:00
Bogdan Poplauschi
3064ef6889
Merge pull request #2081 from dreampiggy/fix_heic_detector
...
Add all 4 standard HEIC brand file signature, ftypheic & ftypheix is for single image, ftyphevc & ftyphevx is for sequence image
2017-10-27 17:46:09 +03:00
DreamPiggy
a71b7b63c4
Add all 4 standard HEIC brand file signature, ftypheic & ftypheix is for single image, ftyphevc & ftyphevx is for sequence image
2017-10-27 17:13:42 +08:00
Bogdan Poplauschi
ab06d2370b
Merge branch 'master' into 5.x
2017-10-27 10:17:44 +03:00
Bogdan Poplauschi
28d21d28b9
Updated CHANGELOG
2017-10-27 09:46:56 +03:00
Bogdan Poplauschi
3d8ce3a84a
Updated `SDWebImageImageIOCoder` comments + minor coding style
2017-10-27 09:44:35 +03:00
Bogdan Poplauschi
62f80e0e3a
Merge pull request #2080 from dreampiggy/feature_heif_image_format
...
Add image format detect of HEIC (One type of HEIF which use HEVC codec). This is supported natively in iOS 11 & macOS 10.13
2017-10-27 09:29:32 +03:00
DreamPiggy
decb5dcdeb
Add some more comments about coder method
2017-10-27 00:22:58 +08:00
DreamPiggy
ae67c97320
Provide a way to detect HEIC encoding compatibility. So that we can avoid encoding to this format.
2017-10-26 23:51:26 +08:00
DreamPiggy
4f7116afe9
Add image format detect of HEIC (One type of HEIF which use HEVC codec). This is supported natively in iOS 11 & macOS 10.13
2017-10-26 22:33:24 +08:00
Bogdan Poplauschi
292078c0be
Merge pull request #2079 from rs/fix_progressive_coder_is_always_IO
...
Fixed create progressive coder issue
2017-10-25 21:02:50 +03:00
Bogdan Poplauschi
5773bfec07
Fixed create progressive coder issue
...
Because we don't break when we find the 1st coder that can decode progressively, we will always rewrite the `progressiveCoder ` with an `SDWebImageIOCoder` instance
2017-10-25 19:48:36 +03:00
DreamPiggy
85cb2fd6ad
Creating FLAnimatedImage in global queue to improve displaying gif performance ( #2047 )
...
* Creating FLAnimatedImage in global queue to improve displaying gif performance
* Added `context` dictionary param to `sd_internalSetImageWithURL` that allows sending context options. For now, one can pass `SDWebImageInternalSetImageInGlobalQueueKey` with true value so the `setImage` op is executed on a global queue.
2017-10-25 09:05:46 +03:00
Bogdan Poplauschi
6bab618acc
Merge pull request #2074 from dreampiggy/fix_scale_down_and_set_data
...
For ImageIO coder, if the image is scaled down, then we need to modify the original image data pointer
2017-10-24 09:22:27 +03:00
DreamPiggy
d62e965833
For ImageIO coder, if the image is scaled down, then we need to modify the original image data pointer
2017-10-24 02:48:50 +08:00
Bogdan Poplauschi
cd37ef672b
Preparing for 4.2.0 release: bumped versions and updated the CHANGELOG
2017-10-23 20:35:34 +03:00
Bogdan Poplauschi
66289772b5
Merge pull request #2071 from dreampiggy/macOS_isGIF_implementation
...
Implements -[NSImage isGIF] method to return whether current NSImage is GIF representation.
2017-10-21 19:02:30 +03:00
DreamPiggy
30fd6cc6ab
Implements -[NSImage isGIF] method to return whether current NSImage is GIF representation.
2017-10-21 23:31:31 +08:00
Bogdan Poplauschi
04855c945e
Merge pull request #2061 from dvkch/master
...
Cached image filename are sometimes generated with invalid path extensions
2017-10-21 17:15:11 +03:00
Bogdan Poplauschi
4e8d450c69
Merge branch 'master' into 5.x
...
# Conflicts:
# Tests/Tests/SDImageCacheTests.m
2017-10-21 16:50:19 +03:00
Bogdan Poplauschi
83e2c35f8e
Merge pull request #2068 from bpoplauschi/improve_unit_tests
...
Fixed our tests and improved the code coverage
2017-10-21 16:42:46 +03:00
Bogdan Poplauschi
b12ef07e5e
Merge pull request #2048 from dreampiggy/fix_cancelBlock_multi_thread_issue
...
Fix #1941 by placing a lock to avoid multi-thread issue for SDWebImageCombinedOperation cancelBlock
2017-10-21 16:32:39 +03:00
Bogdan Poplauschi
f55635de1a
Accidentally deleted a comma from an array declaration
2017-10-20 22:32:48 +03:00
Bogdan Poplauschi
ed411dcba9
Finally fixed the tests from `SDImageCacheTests` so we can re-enable `test40InsertionOfImageData`
...
- the problems: some tests were just poorly written, using async calls but not properly setting async expectations. Those were generating undefined behaviour (not clear if/when those callbacks would be executed).
- also, we wanted to call `clearAllCaches` before every test, but since some methods there are async, this doesn't work with the way `setUp` was designed. So basically sometimes before a test we could clear the cache but sometimes not, or even the clear could come while running the test which was worst
- decided to fix this by making sure after every test that we manually clear what we have added.
2017-10-20 21:14:25 +03:00