"The record is a good indicator that we're playing pretty good," Pistons coach Michael Curry said. "More importantly, we're excited that different units we're playing out there, they're playing to their strengths."
Detroit (4-0) got a scare when point guard Chauncey Billups limped off with an ankle injury with 4:42 remaining in the third quarter.
Billups said he stepped on Bucks center Andrew Bogut's foot.
"I'm a little sore right now," Billups said. "I just tweaked it. I'll be all right."
Charlie Villanueva led the Bucks (0-4) with 26 points and Michael Redd had 17.
"It can be tough at times because we don't know everything yet," Villanueva said. "But I am confident that by the time the regular season starts we will have everything down and be ready to go."
After trailing for most of the game, the Bucks closed to 82-80 when Villanueva scored on a driving layup with 9:54 remaining in the fourth quarter.
The Pistons responded with a 12-0 run to grab a 94-82 lead with 6:43 left. Afflalo scored eight points during the run and 16 in the fourth quarter. The Bucks got no closer than eight points in the final minutes.
Bucks forward Richard Jefferson was ejected with 4:22 remaining in the third quarter. Jefferson, who got a technical foul in the first half for jawing with Afflalo, ran into a backcourt pick from Antonio McDyess. Jefferson was whistled for a foul and screamed in protest. Referee Violet Palmer quickly ejected Jefferson, who had to be restrained by his teammates.
The Pistons broke the game open in the first half by outscoring the Bucks 28-8 to take a 41-22 lead with 8:41 left in the second quarter. Detroit led 61-44 at halftime.
Malik Allen (right hamstring strain), Charlie Bell (left Achilles' tendinitis), Francisco Elson (right wrist bruise) and Adrian Griffin (left ankle sprain) did not suit up for the Bucks ... The Bucks will leave Sunday for China where they will play two games against Golden State (Oct. 15 in Guangzhou and Oct. 18 in Beijing) ... It was the second win for the Pistons over the Bucks in the last four days. Detroit beat Milwaukee 85-71 Wednesday night in Auburn Hills, Mich.