The 22-year-old, who had loan spells at Hartlepool, Derby and Watford, had been tracked by Clarets manager Sean Dyche for some time after becoming a free agent.
"Ryan is a young goalscorer who was searching for a chance at Sunderland and didn't quite get it," Dyche told Burnley's official website.
"But we hope to give him as chance here to further his development into possibly a first team player.
"We want him to be hungry to perform and impress and improve himself here. He will get the platform and that is the challenge."
Huddersfield midfielder Scott Arfield also joined Turf Moor on Friday on a two-year deal.