Garrett Moon 4dbb6441d7 Animated WebP support (#605)
* Updating to support animated WebP

* Fix a deadlock with display link

* Fix playhead issue.

* Fix up timing on iOS 10 and above

* Don't redraw the same frame over and over

* Clear out layer contents if we're an animated GIF on exit range

* Clear out cover image on exit of visible range

* Don't set cover image if we're no longer in display range.

* Don't clear out image if we're not an animated image

* Only set image if we're not already animating

* Get rid of changes to podfile

* Add CHANGELOG entry

* Update license

* Update PINRemoteImage

* Remove commented out lines in example
2017-10-09 11:48:32 -07:00
2017-04-14 09:37:33 -07:00
2017-04-14 09:37:38 -07:00
2017-01-04 14:11:28 -08:00
2017-10-09 11:48:32 -07:00
2017-10-09 11:48:32 -07:00
2017-01-04 14:11:28 -08:00
2016-04-29 07:52:44 -07:00
2017-01-04 14:11:28 -08:00
2017-10-09 11:48:32 -07:00
2017-10-09 11:48:32 -07:00
2017-04-24 16:59:57 -07:00
2017-04-24 16:59:57 -07:00
2017-04-26 11:25:35 -07:00
2017-04-14 09:37:38 -07:00
2017-10-09 11:48:32 -07:00
2017-04-14 11:42:24 -07:00
2017-04-19 14:27:42 -07:00
2017-10-09 11:48:32 -07:00

Coming from AsyncDisplayKit? Learn more here

Texture

Apps Using Downloads

Platform Languages

Version Carthage compatible License

Installation

Texture is available via CocoaPods or Carthage. See our Installation guide for instructions.

Performance Gains

Texture's basic unit is the node. An ASDisplayNode is an abstraction over UIView, which in turn is an abstraction over CALayer. Unlike views, which can only be used on the main thread, nodes are thread-safe: you can instantiate and configure entire hierarchies of them in parallel on background threads.

To keep its user interface smooth and responsive, your app should render at 60 frames per second — the gold standard on iOS. This means the main thread has one-sixtieth of a second to push each frame. That's 16 milliseconds to execute all layout and drawing code! And because of system overhead, your code usually has less than ten milliseconds to run before it causes a frame drop.

Texture lets you move image decoding, text sizing and rendering, layout, and other expensive UI operations off the main thread, to keep the main thread available to respond to user interaction.

Advanced Developer Features

As the framework has grown, many features have been added that can save developers tons of time by eliminating common boilerplate style structures common in modern iOS apps. If you've ever dealt with cell reuse bugs, tried to performantly preload data for a page or scroll style interface or even just tried to keep your app from dropping too many frames you can benefit from integrating Texture.

Learn More

Getting Help

We use Slack for real-time debugging, community updates, and general talk about Texture. Signup yourself or email textureframework@gmail.com to get an invite.

Contributing

We welcome any contributions. See the CONTRIBUTING file for how to get involved.

License

The Texture project was created by Pinterest as a continuation, under a different name and license, of the AsyncDisplayKit codebase originally developed by Facebook. AsyncDisplayKit was originally released by Facebook under a BSD license and additional patent grant. Those BSD and patent licenses govern use of code in Texture contributed prior to 4/13/2017 (the original AsyncDisplayKit code), and copies of the licenses are included in the root directory of this source tree for reference. All code contributed to Texture after 4/13/2017 is released by Pinterest under an Apache 2.0 license.

Description
Supercharged Telegram fork for iOS from original creator of Nicegram
Readme 913 MiB
Languages
Swift 45.4%
C 42.5%
Objective-C 4.9%
Assembly 3.2%
C++ 1.7%
Other 1.9%