Muttiah Muralitharan says Test cricket is only being kept alive financially because of the limited-overs game.
On Tuesday, England captain Andrew Strauss told The Times he has "concerns" about Test cricket.
Sri Lankan Muralitharan, 39, is the leading wicket-taker in both Test and one-day cricket.
And he told BBC Sport: "You have to balance it financially. Play a little bit more one-day and Twenty20, then play Test cricket."
Strauss's comments came in response to the possible postponement of the World Test Championship..
Doubts over the commercial viability of the four-team tournament scheduled to take place in England in 2013 could see it rescheduled for 2017.
The Middlesex batsman said: "The International Cricket Council (ICC) needs to look at what is in the best interests of the game, not what is going to pay the most."
Strauss also said he was disappointed that England would only be playing three Test againsts South Africa next summer, with that series not scheduled for four or five matches in order to avoid a clash with the Olympics.
Meanwhile, off-spinner Muralitharan suggested the longest form of the game is struggling financially, particularly in South Asia.
"India versus Pakistan or England against Australia makes money - but playing other teams it doesn't," said Muralitharan, who received an award for outstanding achievement in sport at the Asian Awards on Tuesday.
"If Sri Lanka play Test cricket you lose money and if you play one-day and Twenty20 games you generate money.
"You need one-day and Twenty20 games to pump the money in because commercially it has to be viable - otherwise your cricket board goes bankrupt and you can't play any cricket."
And Muralitharan, who retired from international cricket after the World Cup, suggested Test cricket would continue to find it diffcult attracting crowds and television rights money.
He added: "People don't have the time these days, they have to go to work and look after their families.
"In one-day cricket you play at the weekends and there will be a full house and the TV money is higher than for Test cricket. At the weekend people will come and watch Test cricket but, for the other three days, there are no crowds.
"In England you play cricket in the summer and people take time off to watch but, in Sri Lanka, there is no summer and you play cricket throughout the year. People would come on Saturday and Sunday but at other times they wouldn't watch."
Sri Lanka have failed to win a Test match since Muralitharan's retirement but the off-spinner insisted he was content playing Twenty20 cricket for Gloucestershire as well appearing in the Indian Premier League.
"I represented my country for 20 years," said the veteran of 133 Tests, who intends to stop playing cricket after the end of the IPL season in 2013. "I'm enjoying my life and there is less pressure.
"What I wanted to achieve I did and there is nothing more to do if you think about my one-day and Test wicket records. My body is not getting younger."