Afflalo, 29, was traded to the Portland Trail Blazers by the Denver Nuggets in February in exchange for Will Barton, Victor Claver, Thomas Robinson and a 2016 lottery-protected first-round pick.
Afflalo exercised a $7.75 million player option to enter free agency.
The agreement includes a player option for the second year of the deal, sources said, which could allow Afflalo to again test free agency after next season.
The 6-foot-5 shooting guard proved to be a crucial piece late in the season for the Blazers after guard Wesley Matthews was lost for the season with a torn Achilles. Afflalo averaged 10.6 points in 30.1 minutes per game, shooting 40 percent from 3-point range. For the season, he averaged 13.3 points in 78 games.
Prior to the 2014-15 season, Afflalo was traded from the Orlando Magic to the Nuggets in exchange for Evan Fournier and Roy Marble. In 2012, he was the centerpiece for the Magic in the four-team Dwight Howard trade. He had a career season in Orlando in 2013-14, averaging 18.2 points per game while hitting 42.7 percent from 3.