So ugly, how did it become a "beautiful" online celebrity?

Youth Shanghai

recent days

Suide County, Shaanxi Province

A network anchor named "Zhang Meili" was arrested.

Although it’s called "beauty"

But what she did was "ugly"

According to the police report, "Zhang Meili" made an appearance by insulting her mother, broadcasting live broadcasts, and yelling at people, in order to attract attention and increase fans. "Zhang Meili" also used online celebrity’s identity to eat "overlord meal" offline, and insisted on taking it. So arrogant and lawless, he was finally arrested by the police on suspicion of seeking trouble.

It is not uncommon for online celebrity to be dealt with for breaking the law, but by abusing his mother to gain attention and get traffic, there is no bottom line to this extent, which has broken through many people’s cognition. Those who wait for "Zhang Meili" will be punished by law.

01

The rapid development of webcasting in recent years has provided many ordinary people with opportunities for success, and also broadened channels for people’s production and life, especially for leisure and entertainment. Many people choose to take network anchor as their career.

However, in order to become online celebrity, some people do not hesitate to get attention and traffic by ugly, vulgar or even illegal means. Online celebrity "Zhang Meili" took this path.

According to the police report, "Zhang Meili" was originally an ordinary netizen. After a video insulting his mother was released in 2022, it quickly rose to tens of thousands. She tasted the sweetness from this data, thinking that she had found the "trick", so she regarded it as a road to rising powder and frequently abused her mother in the live broadcast.

What’s even more outrageous is that in order to continue to suck powder, "Zhang Meili" frequently creates offensive topics in the live broadcast, insults others at will, and regards the live broadcast "opposite spraying" vulgar content and swearing words as the traffic password of the powder.

With the rising popularity, in reality, "Zhang Meili" not only colluded with some network anchors, co-produced vulgar videos to make money, but also began to eat "overlord meals", taking transportation without paying, even abusing others at will, insisting on it, and so on.

In the end, the local police arrested "Zhang Meili" in accordance with the law on suspicion of seeking trouble, and imposed administrative penalties on the relevant personnel who participated in the vulgar live broadcast of "Zhang Meili". The account related to "Zhang Meili" was also banned by the platform.

02

The frequent chaos in webcasting has long aroused people’s concern. Some deliberately release "soft porn" content and "edge ball" videos; Some fictional facts and posing "sell badly"; Some vulgar PK, violent fighting; Others pretend to be crazy and sell silly, grandstanding; What’s more, it is said that "black red" is also "red".

Compared with the live broadcast chaos mentioned above, "Zhang Meili" is a breakthrough.

She not only abused her mother, but also used it as a tool to make money and become famous, and made it public by live broadcast in exchange for attention and flow. This arrogant behavior of ignoring human relations and trampling on the bottom line caused public outrage.

Many netizens are worried that if the abusive behavior of mothers cannot be dealt with in time and can be exchanged for traffic and benefits, will more people follow suit and even intensify? Since insults can get such high traffic, what about more outrageous beatings? What about abuse?

Obviously, if such ugly chaos can’t be stopped in time, it will encourage the spread of "judging ugliness" and form a "broken window effect". The police shot in time, dispelled the dream of "Zhang Meili" and laid a foundation for consolidating the clear network.

03

Traffic is not a scourge, and there is no right or wrong in itself. What is wrong is the way some people pursue traffic.

Recently, a sudden mountain fire broke out in Sichuan and other places, and forest firefighters pushed into the fire with dozens of pounds, and the live webcast of fighting all night was sought after by netizens. This shows that it is also a live broadcast, spreading positive energy, and there is also traffic and market. The key depends on how the anchor looks and broadcasts, whether he is willing to suffer hardships and whether he is willing to take the right path.

Looking back at "Zhang Meili"’ s ugly live broadcast chaos, they broke through the boundary of law again and again, and broke through the moral bottom line again and again, revealing online celebrity’s mentality of quick success and instant benefit and one-sided paranoid view of justice and benefit.

"Zhang Meili" is punished by law, which is a strong warning: the Internet is not a place of extra-legality, and webcasting is not a blind spot for supervision. In recent years, with the launch of the "Qinglang" series of special actions, the bottomless traffic from the media and the false and vulgar chaos in the field of webcasting have long been included in the rectification focus, so don’t be lucky.

"Zhang Meili" became the so-called "online celebrity", which did not happen overnight. If the management of the relevant online social media platform is in place, it can be warned in time at the beginning of the live broadcast, and "Zhang Meili" may not be as good as it is today.

Network platform as the main body of operation

Not in front of the traffic bonus

turn a blind eye to

Let vulgar content spread freely on the platform.

Strengthen supervision and inspection and fulfill platform responsibilities.

Can’t be reduced to empty talk

The Shanghai delegation has come to deliver benefits! There are 3 exclusive exquisite badges of Youth Shanghai. Are you excited?

Want to want! How can we get it?

Light up this article [Looking] and [Like], and leave a message in the comment area for interaction; When the number of [watching] reaches 200, the little friend who likes the first comment will get a set of badges for free ~

Original title: "So ugly, how did it become a" beautiful "online celebrity? 》

Read the original text

Samsung closed its last mobile phone manufacturing factory in China.

  Samsung officially closed its last mobile phone manufacturing factory in China.

  On October 2nd, it was reported in Reuters that Samsung Electronics said that it had stopped producing mobile phone products in China because of the increasingly fierce competition from domestic competitors in China. This also means that Samsung’s last factory in China, located in Huizhou, Guangdong Province, has also been shut down.

  Samsung China responded to the The Paper reporter that Huizhou Samsung Electronics was one of Samsung’s first factories in China in 1992. Considering the current situation of the global mobile phone market, in order to improve the efficiency of global production and operation, it was forced to make a decision to stop production in Huizhou.

  "In the past 27 years since entering China, Samsung has followed the industrial guidance direction of the China government and adjusted its industrial layout in time to adapt to the rapid development and changes of the China market. The adjustment of the Huizhou factory is a normal industrial adjustment; Samsung’s industrial layout in China has been transformed into a high-end manufacturing industry in line with the direction of the China Municipal Government. In the past six years, it has continued to invest in high-end industries in China, amounting to more than 20 billion US dollars, far higher than the amount of industrial adjustment, and will continue to invest in high-end industries in China in the future. " Samsung said in a statement.

  Samsung said that in view of the problem of employee placement, the company will fully protect the legitimate rights and interests of employees, and properly solve it through various forms such as branch relocation and re-employment support to minimize employee losses.

  Since the beginning of this year, there have been media reports that Samsung will continue to shut down this Huizhou mobile phone factory and transfer its production capacity to Vietnam, India and other countries to cope with the pressure of rising labor costs in China. In the low-end market of China, ODM or OEM mode is adopted.

  Samsung had previously responded to the media: "Due to the severe market situation and intensified competition in China, we are adjusting the output of Huizhou factory."

  Huizhou Samsung Electronics has been pushing the recruitment information of other companies on WeChat WeChat official account for several months to find job opportunities for Huizhou factory employees.

  The full name of Samsung Huizhou Factory is Huizhou Samsung Electronics Co., Ltd., which was established in 1992 as a joint venture between samsung galaxy Co., Ltd. and Guangdong Huizhou Real Estate Corporation. It was officially put into production in September 1993 with a registered capital of $32 million. Mobile phone production was introduced in 2006, and now it has developed into 40 GSM/CDMA/3G mobile phone production lines and more than 30 SMD automatic production lines. The products MAINly include main audio, DVD home theater, mobile phone and other products, with a factory area of 120,000 square meters and a construction area of 35,000 square meters.

  In recent years, Samsung’s mobile phone sales in China’s domestic market are not good, and it is impossible to provide enough orders to the China factory; However, the high cost of the China factory made it impossible to receive orders from other Samsung markets, which led to a difficult situation for the China factory. In December last year, Samsung closed the Tianjin mobile phone factory.

  A few days ago, the market research company Strategy Analytics released a report saying that Samsung Electronics’ share in China’s smartphone market in the second quarter was less than 1% due to the influence of more China consumers choosing to buy domestic smartphones. In 2013, Samsung’s smartphone market share in China once reached about 20%.

  Samsung has also said that it is reorganizing and matching global industries, and the specific measures are to transfer intensive factories to countries with lower labor costs.

  Regarding the closure of Tianjin mobile phone factory, Samsung said that it actively eliminated backward production capacity, and at the same time, it vigorously increased investment in high-tech industries and added high-end manufacturing projects such as MLCC (multilayer ceramic capacitors) and new energy power batteries. Among them, the MLCC plant is expected to be completed by the end of this year. By then, Tianjin will become one of the major overseas production bases of Samsung Electric, providing basic electronic components for mobile phones, computers, automotive electronics and other equipment worldwide, greatly improving the level and internationalization of the electronics industry in Tianjin.

  Huang Degui, president of Samsung Greater China, recently told People’s Daily that Samsung has become an important participant in the high-quality development of China’s manufacturing industry. "In the future, Samsung will continue to provide China consumers with an important driving force for a better life through technological breakthroughs and high-tech products. At the same time, it will continue to adapt to the development and changes of the China market, strengthen reform and innovation, accelerate transformation and upgrading, and strive to achieve high-quality development."

  The Paper reporter Ling Zhou

Bamboo Slips and Silk Documents and the Historical Inheritance of Chinese Civilization

  Author: Yao Xiaoou (distinguished professor, College of Literature, Liaocheng University)

  From the "school of ancient history discrimination" and "examination of ancient history" in the 1920s, to the end of last century and the beginning of this century, Mr. Li Xueqin advocated "getting out of the age of doubting ancient history", and the research on China’s ancient history was getting deeper and deeper, among which the re-establishment of the concept of China’s 5,000-year-old civilization history was the key. Tracing the origin and historical inheritance of Chinese civilization has become a cultural event of concern to the whole society, and the discovery and research of bamboo and silk documents is an important link in the study of historical inheritance of Chinese civilization.

  Characteristics and advantages of bamboo and silk documents and China’s ancient historical records

  Archaeologists pointed out: "Over the past 20 years, the Chinese civilization tracing project has gradually unveiled the mystery of the origin of Chinese civilization through the investigation and excavation of many urban sites such as Liangzhu in Zhejiang, Shijiahe in Hubei, Taosi in Shanxi, Shimao in Shaanxi and Erlitou in Henan. The Chinese civilization tracing project has basically clarified the origin and early development of Chinese civilization. " (Chen Xingcan: Promoting the Spread of Chinese Excellent Traditional Culture, People’s Daily, 20th Edition, August 18th, 2022) As a general rule, the study of world history judges the historical age through archaeological achievements, all of which are combined with literature. The richness and inheritance of China’s historical documents are obvious to all.

  Mr. Qian Cunxun, a famous expert on books and documents and a Chinese-American scholar, has a detailed exposition on the characteristics and advantages of China’s historical documents in his famous book "Books on Bamboo and Silk —— Ancient Written Records of China". He said: "most of the history of mankind depends on the spread of written records, so it has been preserved to this day." China people’s recording methods and techniques of thoughts and activities have their own special position in the history of world cultural development. " Mr. Qian pointed out: "A major feature of China’s written records is its unique persistence and continuity. This feature enables a creative ancient culture in the world to continue to this day. In addition to the common sounds and meanings of ordinary characters, China characters also have their own special forms. This kind of characters with special forms transcends the changes in time and the limitations in space, unites the Chinese nation and creates one of the greatest cultures in the world. "

  In the preface to the book, Mr. Li Xueqin quoted the above comments and said, "I believe that anyone who has read the book on bamboo and silk will be moved by this significant conclusion." Mr. Li’s "significant judgment" includes its significance in clarifying the origin of Chinese civilization. "Book on Bamboo and Silk" gives a comprehensive account of the origin of China’s books, from inscriptions on Oracle bones, inscriptions on inscriptions and inscriptions on tablets to bamboo slips and silk books. Generally speaking, from the perspective of document inheritance, bamboo slips and silk books, especially the bamboo slips that record books, are particularly valuable for discussion.

  The carrier of bamboo slips is bamboo slips, which are all kinds of writing materials made of bamboo and wood, including bamboo slips, bamboo slips, bamboo slips and bamboo slips. Because Jane is a large number, the above written materials are often collectively referred to as "Jane". A book made up of simplified editions is the most common form of ancient books.

  Literatures written in simplified books were used very early. "Shangshu Toz": "Hey! Tell Doss, … only I know, but the ancestors of Yin have books and codes, and Yin died in the summer. " The words quoted in Todos are from the mouth of the Duke of Zhou, and the object of teaching is the adherents of Shang Dynasty. From this, we can see that the existence and content of the documents in the Shang Dynasty were well known at that time. Its credibility is beyond doubt. In Oracle Bone Inscriptions, there are also many records of "books" and their use. Academic circles have a positive conclusion about the fact that simplified books have been used in Yin and Shang Dynasties. According to this, we can know that the existing Shang Shu Pan Geng and the source of Shang Song in the Book of Songs have cultural and institutional roots.

  In addition, because of the material properties of organic materials, the document carrier of bamboo and silk is difficult to be preserved under normal conditions, which makes the number of ancient bamboo and silk buried in walls, underground and other places rediscovered by later generations small, so it should be especially cherished.

  Discovery of bamboo and silk documents in past dynasties and its significance

  Qin Shihuang burned books to bury Confucianism, which blocked the inheritance of China literature to a great extent. In the Han Dynasty, all kinds of pre-Qin classics appeared one after another, except for the book-carrying law in four years. During the period of Emperor Wu, ancient books of the pre-Qin period were unearthed in the walls of Confucius’ old house and other places. At that time, there were people who gave away the old books in the pre-Qin period. Ancient pre-Qin books discovered in the Han Dynasty mainly include the following three aspects.

  First, Confucius’ book in the wall. Historical Records Biography of the Scholars: "Kong’s family has an ancient book" Shangshu ",while Anguo read it in this text, because it started his family. I have won more than ten articles from the Book, and I have covered the Book of History. " Han Shu Yi Wen Zhi said: "The author of The History of Ancient Chinese Literature is out of the wall of Confucius. At the end of Emperor Wu’s reign, the King of the Communist Party of Lu ruined Confucius’ residence and wanted to enlarge his palace, but he got dozens of articles, such as The History of Ancient Chinese Literature, The Book of Rites, The Analects of Confucius and The Book of Filial Piety, all of which were ancient characters. " Liu Xin’s Book of Dr. Taichang: "When King Lu Gong destroyed Confucius’ residence, he got ancient prose in a bad wall. There are thirty-nine Yi Li, sixteen Books, … and the Spring and Autumn Annals, all of which were written by Zuo Qiuming, and more than twenty books were hidden in the secret mansion, but they were not published."

  Second, other unearthed documents and books in the Han Dynasty, including Li, Shangshu and Xiaojing. History of Han Art and Literature: "Li Gu Jing was written by Lu Yanzhong and Confucius, which is similar to seventeen articles, with thirty-nine articles more." Kong Yingda’s Justice of Shangshu quoted Liu Xiang’s Bielu: "At the end of Emperor Wu, if the people had the Thai Oath in the wall, they would give it." Kong also quoted Fang Hong, assistant minister of Huangmen in the 14th year of Jian ‘an in Xian Di, as saying: "In the first year of Taihe in Xuan Di, women in Hanoi had a bad old house and got three articles of Thai Oath." Xu Chong’s "On the Table of Explaining Words": "The author of the Classic of Ancient Chinese Filial Piety was presented by the three old people of Lu when he was filial to Emperor Zhao."

  Third, Zuo Zhuan presented by Zhang Cang and the ancient books presented by Hejian to the king. Xu Shen’s Pre-narration of Shuowen Jiezi said: "Beiping Hou Zhang Cang presented Zuo’s Biography in the Spring and Autumn Period". Its writing is "self-similar" to the book in Confucius’ wall and the Ding Yi inscription unearthed. "Han Shu He Jian Xian Wang Chuan": "He Jian Xian Wang De was established two years ago with filial piety, studying the past well and seeking truth from facts. If you get a good book from the people, you must write it well, keep it true, and add gold and silk to it. Because the people of the Quartet Taoism are not far away, or there are old books from ancestors, which are often presented to the king, so there are many books. And the Han Dynasty, etc … The books presented to the king are all ancient books before the Qin Dynasty, and the titles of Zhou Guan, Shang Shu, Li Ji, Mencius and Lao Zi are all recorded by legends and discussed by the people of seventy. "

  All kinds of classics we use today have been handed down by scholars in the Han Dynasty. All kinds of ancient pre-Qin books appeared in the Han Dynasty are of great significance to the establishment of the learning system in the Han Dynasty, and their influence has continued until now.

  After the Han Dynasty, the famous event of finding ancient simplified books in tombs was the discovery of "Jizhong Bamboo Book". Wang Guowei made an incisive judgment on the significance of the discovery of bamboo slips and silks, including "Jizhong Bamboo Slips", in the study of China’s ancient history. He said, "There was a book in the wall of Confucius, and then there was the study of ancient writers since the Han Dynasty. There are ancient artifacts unearthed in Zhao and Song Dynasties, and then there are ancient artifacts and ancient characters since Song Dynasty. After the bamboo book of Jizhong was unearthed in the Jin Dynasty, the result was not significant because of the chaos in Yongjia. However, Du Yuzhi’s Zuo Zhuan and Guo Pu’s Shan Hai Jing all quoted his theory, and the deeds of Yu, Yi and Yi Yin recorded in Bamboo Annals have become a major issue in China’s literature. However, the knowledge in China’s books depends on the discoverer of the underground, and it is not from today. " (Wang Guowei: "China’s newly discovered knowledge in the past two or three decades")

  It is said in the Annals of Bamboo Books that "those who share common interests do things of the emperor, not two-phase republic", which is different from that described in Records of the Historian Zhou Benji, but it is supported by Tsinghua bamboo slips. In a word, the discovery of bamboo slips and silks unearthed in the Han Dynasty is of great significance and far-reaching influence on the narrative of China’s ancient history and the inheritance of Chinese civilization.

  The Discovery of Bamboo and Silk Documents since the 20th Century and Its Significance

  Unearthed documents have played a key role in many important advances in academic research in the twentieth century. At the beginning of the 20th century, Wang Guowei used the newly discovered Oracle bone inscriptions at that time to write papers such as "Examination of the First Duke and the First King Seen in Yin Oracle Inscriptions" and "Continued Examination of the First Duke and the First King Seen in Yin Oracle Inscriptions", which proved that the history of Shang Dynasty described in Historical Records was basically correct, and thus inferred "the authenticity of Xia Houshi lineage". This assertion has extended the recorded history of China for more than 1000 years.

  From the end of the 20th century to the beginning of the 21st century, many discoveries and researches on bamboo and silk documents were greatly promoted. From the carrier, besides bamboo slips and silks, there are also Oracle Bone Inscriptions, bronze inscriptions, Wen Tao and inscriptions. Bamboo slips and slips mainly include two categories, one is documents, and the other is books. Documents include common tomb dispatches, ancient files, official documents, decrees and bookkeeping, as well as calendars, calendars, Japanese books and miscellaneous medical prescriptions. These types of documents are first-hand materials for studying the social system at that time and the living conditions of ancient people, which are naturally valuable. However, from the perspective of the historical inheritance of Chinese civilization, handed down classics and books similar to handed down classics are of greater significance. Bamboo Slips of Chu Tomb in Guodian, Bamboo Slips of Warring States Collected in Shanghai Museum, Bamboo Slips of Warring States Collected in Tsinghua University and Bamboo Slips of Warring States Collected in Anhui University contain many classics. For example, there are three kinds of Lao Zi and Yi Yi in Guodian bamboo slips, The Book of Songs and various Confucian documents in Shanghai bamboo slips, The Book of Songs and Shangshu in Tsinghua bamboo slips, The Book of Songs, National Style and The Analects of Confucius in Anda bamboo slips. In addition, the bamboo slips and Qin slips of the Western Han Dynasty collected by Peking University, and the Western Han bamboo slips of the tomb of Hai faint Hou, etc., also have important historical document value.

  There are two aspects worthy of special attention in the historical significance of the classic simplified literature. The first is the study of thinkers represented by Confucius in the Spring and Autumn Period and the Warring States Period, including their ideological origin, the formation of unified ideas and their transmission in later generations. The second is the exploration of the ancient history of China, including the dating and historical orientation of the ancient history of Xia, Shang and Zhou Dynasties and before.

  On the first aspect, the first breakthrough was made because of the publication of Bamboo Slips of Guodian Chu. On November 7th, 1999, the third edition of China Youth Daily published a series of articles written by Pang Pu, a famous philosopher and intellectual historian, with the title "How Bamboo Slips from Guodian Chu Tomb Rewrite the History of China Thought". The center of this group of articles is to discuss the inheritance of Guodian bamboo slips from Confucius to Mencius. The simplified version of Laozi has another meaning. The organizer of Guodian Bamboo Slips pointed out: "A and C of the simplified version of Laozi are the earliest copied versions of Laozi so far. Most of its sentences are similar or the same as this edition of Laozi. " This is strong evidence for affirming Lao Zi and his books recorded in historical documents. The study of the relationship between Laozi and Confucius can also be further deepened. Documents such as "Yi Yi" and "Five Elements" suggest that the Simeng School was widely spread in Chu at that time. New Confucian literature, such as "Self-assertion of Sex", "Poverty Reaches Time" and "The Way of Tang Yu", is also of great significance to the history of China’s thoughts. These show the inseparable relationship between Chu culture and the culture of the Central Plains during the Warring States period, and even for a number of periods. This is an excellent illustration of the pluralistic unity of Chinese culture.

  As far as the history of China’s "three generations" is concerned, the existence of the Xia Dynasty was questioned by the school of ancient history differentiation, and as mentioned earlier, Wang Guowei once inferred the "authenticity of Xia Houshi’s lineage" contained in Historical Records based on the Oracle bones in the Yin ruins. According to "Guoyu Luyu", after being defeated by Tang, "Jie ran to the south nest". Rong Chengshi, a bamboo slip on Shanghai Bo, gives a more detailed account of this important historical event: "Jie is the Lishan family who fled, and Tang attacked it from this, and fell from the slogan to cut Kaminokado high." Jie is the south nest family who fled, and Tang attacked it. I fled to the wilderness of Sangwu. " Comparing the two, the main contents of Xia Jie’s ending in handed down literature and unearthed literature are consistent. The latter also mentioned that Jie’s final destination was "the wilderness of Cangwu". This is intriguing. In history, "the wilderness of Cangwu" is related to Shun. In the neighboring areas of this area, some unearthed bronzes are classified as "early Shang period", which is very beautiful and its cultural source is worth studying. Unearthed documents such as Tsinghua bamboo slips "Thick Father" and "Shenbuwei" also provide new materials for the study of Xia history.

  Among the ancient civilizations in the world, the connotation and inheritance of Chinese civilization have their own characteristics. As far as the inheritance of civilization is concerned, the three generations of history and culture summarized by Confucius are represented by the chapters "Zai Yu Wen Wu Di De", "Emperor’s Family Name" and "Book of Rites and Liyun" in The Book of Rites, which have been passed down from generation to generation. Since the 20th century, the unearthed bamboo and silk documents have played an important role in the inheritance of contemporary Chinese civilization, which is worth our further study.

  Guangming Daily (11th edition, March 16th, 2024)

Dashiqiao Township, Xichuan County: Cherry management is at the right time.

Recently, cherry blossoms in the big cherry greenhouse in Dashiqiao Township, Xichuan County, Nanyang City are blooming in the spring, and the small flowers are emitting the "fragrance" of spring. At present, it is the critical period for cherry trees to blossom and grow. Fruit trees have great demand for water and fertilizer, and high requirements for light, temperature and humidity control. Technicians and growers are pulling and pruning the big cherry trees to protect the growth and development of the big cherry. (Fan Xiaoheng Video Source: Propaganda Department of Luanchuan County Committee)

Unsweetened fruits also have low sugar content? Not necessarily!

At the end of summer and the beginning of autumn, the hot weather is constant, the air is sultry, and people’s appetite is also getting worse. Therefore, cold and juicy fruits, such as watermelon, cantaloupe and peach, have become a "good heart" for many people. Nowadays, people’s health awareness has improved, and they know that some fruits have high sugar content and cannot eat too much. "Sugar" and "sweet" seem to be born together. Many people think that the unsweetened fruit must contain less sugar, and the sweeter fruit must contain more sugar.
Research shows that this is actually a misunderstanding. Whether the sugar content of fruit is high or not is not just as simple as whether it tastes sweet or not. For example, strawberries taste sweeter than pineapples, but the sugar content of strawberries is much lower than that of pineapples; Pitaya and kiwifruit taste sour, but their sugar content is higher than watermelon. The sweet and sour taste of fruit is closely related to the types of sugar and organic acids in the fruit itself.
Different sugars have different sweetness.
There are many kinds of sugar in fruit, including monosaccharide (fructose, glucose), disaccharide (sucrose, maltose) and polysaccharide (starch). Professionally, the sweetness of sucrose is 1, the sweetness of fructose is 1.2, and the sweetness of glucose is 0.7. Fruits with the same sugar content and high fructose content will taste sweeter.
Taking pitaya and watermelon as examples, because the sugar of pitaya is mainly glucose, and fructose accounts for more than half of the sugar of watermelon, the sweetness of watermelon is higher than that of pitaya. But in terms of sugar content, the sugar content of watermelon is lower than that of pitaya. Many people think that watermelon is very sweet, and its sugar content must be high, but on the contrary, the sugar content of watermelon is only 5%-6%, which is lower than that of apples used by many people to lose weight. Although the sugar content of watermelon is low, it is easy to eat it. Some people question: "Can eating an apple be the same as eating a watermelon?" Netizen said: You can’t blame watermelon for eating too much!
The fruit that tastes very sweet has high or low sugar content, so the fruit that is not sweet must have low sugar content, right? This is really not certain! Take pear, kiwi fruit and apricot as examples, the total amount of fructose, sucrose and glucose is about 10%, but the proportion is quite different.
If we only look at the type and proportion of sugar, pear should be the sweetest, followed by kiwi fruit and apricot at last. Some people wonder: does kiwi fruit have so much fructose? The kiwifruit I have eaten is not very sweet. This is because there are not only "sugar" but also "acid" in fruit. For example, organic acids such as citric acid, malic acid, tartaric acid, and polyphenols such as astringent tannins will make fruits less sweet.
Experts suggest that adults should consume 200-350 grams of fruit every day.
In real life, many people worry that eating fruits with high sugar content will lead to obesity. For people who want to lose weight, they can try to avoid "high-sugar" fruits such as grapes, durians and cherries. According to the Balanced Diet Pagoda for China Residents recommended by China Nutrition Society (2016), adults should consume 200-350g of fruit every day, which is equivalent to 1-2 apples or pears of normal size. Generally speaking, the fruit consumption of Chinese residents is obviously lower than this standard, which needs to be improved urgently. It should be noted that fruit is best eaten between meals. From a nutritional point of view, you can’t just eat fruit for dinner.
(Source: China Nutrition Society)
Some diabetics also expressed concern: fruit has a high sugar content, can it be eaten after all? In this regard, Nie Jiyun, a professor at the School of Horticulture of Qingdao Agricultural University and a member of the Expert Group on Agricultural Products Quality and Safety of the Ministry of Agriculture and Rural Affairs, said that diabetics can eat fruits properly, provided that their blood sugar is relatively stable, and they should follow the dietary principles of diabetics and not eat too much.
First of all, diabetics should be selective in the types of fruits. You can refer to the glycemic index (GI) of food, which indicates the speed and ability of food to raise blood sugar compared with glucose. Don’t judge the sugar content by the sweetness of the taste. Diabetic patients had better choose fruits with low GI, such as cherries, peaches, grapefruit, strawberries, apples and pears.
In addition to soluble sugars such as glucose, fructose and sucrose, there are quite a few sugars in fruits in the form of polysaccharides, such as gum and dietary fiber. The human body absorbs pectin and dietary fiber slowly, or even does not. Therefore, eating some fruits rich in pectin and dietary fiber, such as mulberry, hawthorn, pomegranate and fig, will not lead to significant fluctuations in blood sugar.
The following is a common fruit calorie ranking table for your reference:
(Source: Zhongxin Jingwei)
(Public Network Poster News Internship Editor Zhao Yawen Comprehensive CCTV, Science and Technology Daily, Poster News, etc.)
Reporting/feedback

[Decoding Chatgpt] Yang Qingfeng | Chatgpt: Characteristic Analysis and Ethical Investigation

Since November 2022, ChatGPT, a chat robot developed by American artificial intelligence research company OpenAI, has quickly become the fastest-growing consumer-grade application in history, attracting widespread attention. The emergence of ChatGPT has become the tipping point of the development of artificial intelligence, which has promoted the competition of scientific and technological innovation in various countries to enter a new track. The leap of technology will inevitably lead to in-depth observation in application scenarios. No matter how smart artificial intelligence services become, adapting to and meeting the needs of human development is always the fundamental direction. Facing the future, discussing ChatGPT’s important influence on people’s mode of production, lifestyle, way of thinking, behavior mode, values, industrial revolution and academic research will help us to use and manage this technology correctly and then think about the development prospect of artificial intelligence.

Hegel mentioned the concept of bubble burst in the Ethical System, which meant that the process of destruction was like an expanding bubble bursting into countless tiny water droplets. If we look at the development of artificial intelligence technology with this concept, we will find that it is more consistent. After the artificial intelligence bubble burst in 1956, it became many tiny water droplets and splashed everywhere. There are AlphaGo and so on in chess; There are AlphaFold and so on in scientific research; Language dialogue includes LaMDA, ChatGPT, etc. Image generation includes Discord, Midjourney and so on. These technologies have gradually converged into a force, which has involved mankind in an era of intelligent generation.

ChatGPT: generating and embedding

Generation constitutes the first feature of ChatGPT, which means innovation, but this is questioned. Chomsky believes that ChatGPT discovers rules from massive data, and then connects the data according to the rules to form similar content written by people, and thinks that ChatGPT is a plagiarism tool. This view is somewhat inaccurate. In the process of ChatGPT generation, something new is produced. However, this is not new in the sense of existence, that is to say, it does not produce new objects, but finds unseen objects from old things through attention mechanism. In this sense, it belongs to the new in the sense of attention. In 2017, a paper entitled "Attention is All You Need" proposed transformer based on the concept of attention, and later ChatGPT used this algorithm. This technology uses self-attention, multi-head-attention and other mechanisms to ensure the emergence of new content. Moreover, ChatGPT may also generate text by reasoning, and the results can not be summarized by plagiarism.

Embedding constitutes the second feature of ChatGPT, and we can regard the embedding process as enriching some form of content. The development of intelligent technology is divorced from the track of traditional technology development. Traditional technology is often regarded as a single technical article, and its development presents a linear evolution model. However, the development of intelligent technology gradually shows embeddability. For example, as a platform, smart phones can be embedded with many apps. ChatGPT can be embedded in search engines and various applications (such as various word processing software). This kind of embedding can obviously improve the ability of agents. This is the basis of ChatGPT enhancement effect. According to Statista’s statistics, as of January 2023, OpenAI has been closely integrated with science and technology, education, commerce, manufacturing and other industries, and the trend of technology embedding is becoming increasingly obvious. The degree of embedding affects the friendliness of the robot. At present, ChatGPT can’t be embedded in the robot as a sound program. In our contact, it is more like a pen pal. In the future, companion robots and talking robots may be more important, such as voice communication, human talking, machine listening and responding.

ChatGPT’s black box status

For ChatGPT, transparency is a big problem. From a technical point of view, opacity stems from the unexplained problem of technology. Therefore, technical experts attach great importance to the interpretability of ChatGPT, and they also have a headache about the black box effect of neural network. In terms of operation mode, the operation of ChatGPT itself is difficult to explain. Stuart Russell clearly pointed out that we don’t know the working principle and mechanism of ChatGPT. Moreover, he doesn’t think that the large-scale language model brings us closer to real intelligence, and the interpretability of the algorithm constitutes a bottleneck problem. In order to solve this problem, they can observe the mechanism of neural network and touch the underlying logic through some technical methods such as reverse engineering. And through the mechanical interpretable method, the results are displayed in its visual and interactive form. With the help of these methods, they opened the black box of neural network. However, the interpretability obtained by this method is only effective for professional and technical personnel.

From a philosophical point of view, the emergence of black box is related to terminology. Difficult and obscure terms will affect the acquisition of theoretical transparency. For example, the theoretical concepts on which ChatGPT algorithm depends need to be clarified. In the article "Attention is All You Need", attention mechanism is a common method, which includes self-attention and multi-attention If these concepts are not effectively clarified, it will be difficult for outsiders to understand, and the black box will still not be opened. Therefore, one of the most basic problems is to clarify attention itself. However, this task is far from complete. Ethical problems caused by lack of transparency will bring about a crisis of trust. If the principle of ChatGPT is difficult to understand, its output will become a problem. In the end, this defect will affect our trust in technology and even lose confidence in technology.

Enhancement effect of ChatGPT

ChatGPT is an intelligent enhancement technology. What it can do is to intelligently generate all kinds of texts. For example, generate an outline of data ethics and generate the research status of a frontier issue. This obviously enhances the search ability and enables people to obtain higher efficiency in a short time. This enhancement is based on generativeness and embeddedness. From the generative point of view, it realizes the discovery of brand-new objects through the transformation of attention; In terms of embeddedness, it greatly improves the function realization of the original agent.

As an intelligent technology, ChatGPT can obviously improve the work efficiency of human beings. This brings out a basic problem: the relationship between human beings and agents. We divide intelligence into substantive intelligence and relational intelligence. Entity intelligence, that is, the intelligence possessed by entities, such as human intelligence, animal intelligence and entity robot intelligence; Relational intelligence is mainly used to describe the relationship between human beings and agents, and augmented intelligence is the main form of relational intelligence. It is necessary to purify the enhanced intelligence, make it show the general significance of people and technology through philosophical treatment, and make it have normative significance through moral treatment.

However, ChatGPT, which can enhance the effect, will cause some ethical problems. The first is the problem of intelligence gap. At present, this technology is limited, and there is a certain technical threshold, which will lead to the widening gap among users, that is, the gap caused by intelligent technology. This is the gap and gap arising from the acquisition of technology. The second is the issue of social equity. Unless this technology can be as popular as mobile phones, this fairness problem will be exposed very significantly. People who can use ChatGPT to work are likely to improve their efficiency significantly; Those who can’t use this technology will keep their efficiency at the original level. The third is the problem of dependence. Users will feel the convenience of this technology during use. For example, it can quickly generate a curriculum outline, write a literature review, and search for key information. This will make users gradually rely on this technology. But this dependence will have more serious consequences. Taking searching literature as an example, with the help of this technology, we can quickly find relevant literature and write a decent summary text. Although ChatGPT can quickly generate a literature review, it has lost the academic training of related abilities, so the result may be that researchers and students have lost their abilities in this field.

The relationship between ChatGPT and human beings

In the face of the rapid offensive of ChatGPT, academic circles generally take a defensive stance, especially many universities have banned the use of this technology in homework and thesis writing. However, prohibition is not the best way to deal with it. Technology is like water, which can be infiltrated in many ways, so relatively speaking, rational guidance is more appropriate.

To guide rationally, we need to consider the relationship between agents and human beings. I prefer to compare the relationship model between the two to "make the finishing point". Taking the generation of text outline as an example, ChatGPT can generate a data ethics outline based on data processing links around related ethical issues in data processing, such as collection, storage and use. In a narrow sense, this outline is appropriate and can reflect some aspects of ethical issues in data processing. However, from a broad point of view, this outline is too narrow, especially only from the data processing itself to understand data, without considering other aspects, such as dataization, data and lifestyle. What we can do or want to do is to make the finishing touch on the generated text and make it "live" through adjustment. In this way, the position of intelligently generated text has also begun to be clear: it is the finishing touch of human beings that plays a key role in the generation. Without this pen, the intelligently generated text is just a text without soul. If not, it will be difficult to guarantee the meaning and value of human beings, and the corresponding ethical problems will also arise.

What is the concept and meaning of big data?

"Big data" is a data set with a particularly large volume and data categories, and such data sets cannot be captured, managed and processed by traditional database tools. "Big data" first refers to data volumes? Large refers to a large data set, usually in 10TB? However, in practical application, many enterprise users put multiple data sets together, which has formed PB-level data volume; Secondly, it refers to the large variety of data, which comes from a variety of data sources, and the types and formats of data are increasingly rich. It has broken through the previously defined structured data category, including semi-structured and unstructured data. Secondly, the speed of data processing is fast, and the real-time processing of data can be achieved even when the amount of data is huge. The last feature is the high authenticity of data. With the interest of new data sources such as social data, enterprise content, transaction and application data, the limitations of traditional data sources have been broken, and enterprises increasingly need effective information power to ensure their authenticity and security.

Data collection: ETL tools are responsible for extracting data from distributed and heterogeneous data sources, such as relational data and flat data files, into the temporary middle layer, cleaning, converting and integrating them, and finally loading them into data warehouses or data marts, which become the basis of online analysis and data mining.

Access to data: relational database, NOSQL, SQL, etc.

Infrastructure: Cloud storage, distributed file storage, etc.

Data processing: NLP (NaturalLanguageProcessing) is a subject that studies the language problems of human-computer interaction. The key to natural language processing is to make computers "understand" natural language, so natural language processing is also called NLU (NaturalLanguage Understanding), also known as Computational Linguistics. On the one hand, it is a branch of language information processing; on the other hand, it is one of the core topics of artificial intelligence.

Statistics: hypothesis test, significance test, variance analysis, correlation analysis, t-test, variance analysis, chi-square analysis, partial correlation analysis, distance analysis, regression analysis, simple regression analysis, multiple regression analysis, stepwise regression, regression prediction and residual analysis, ridge regression, logistic regression analysis, curve estimation, factor analysis, cluster analysis, principal component analysis, factor analysis, fast clustering method and clustering method

Data mining: Classification, Estimation, Prediction, affinity grouping or association rules, Clustering, Description and Visualization, complex data type mining (Text, Web, graphics, video, audio, etc.)

Prediction: prediction model, machine learning, modeling and simulation.

Results: Cloud computing, tag cloud, diagram, etc.

To understand the concept of big data, we should first start with "big", which refers to the data scale. Big data generally refers to the amount of data above 10TB(1TB=1024GB). Big data is different from massive data in the past, and its basic characteristics can be summarized by four V’s (Vol-ume, Variety, Value and Veloc-ity), namely, large volume, diversity, low value density and high speed.

First, the data volume is huge. From TB level to PB level.

Secondly, there are many types of data, such as weblogs, videos, pictures, geographical location information, and so on.

Third, the value density is low. Take video as an example. During continuous monitoring, the data that may be useful is only one or two seconds.

Fourthly, the processing speed is fast. 1 second law. This last point is also fundamentally different from the traditional data mining technology. Internet of Things, cloud computing, mobile Internet, Internet of Vehicles, mobile phones, tablets, PCs, and various sensors all over the globe are all data sources or ways of carrying them.

Archsummit direct hit | Build a smooth natural flutter page

Instructors

Amoy Technology Department | Leisure Fish Technology | Cloud

"Fully strengthening the flutter fluidity, sharing challenges, online monitoring tool construction, optimization means to precipitate in component containers, and finally optimized advice."

Zhang Yunlong (cloud from), idle fish client experts.Since Netease, byte, Ali is running. At the current Department of Alibaba, there are currently responsible for idle fish APP packages, fluidity, start-up equation experience.

Outline

This sharing revolves around FLUTTER fluidity, respectively: 1.Flutter fluidity optimization challenge; 2. List container and flutterdx component optimization; 3. Performance measurement and devTool extension; 4.Fltter sliding curve optimization; 5. Performance optimization suggestions.

FLUTTER fluency optimization challenge

Business complexity challenge

FLUTTER has always been known by everyone, and the list controls displayed by Flutter Gallery (shown in the left) is indeed very smooth. But the actual business scene (shown on the right) is more complex than the Gallery list demo:

  1. Same card, more and complex (such as rounded) view control;

  2. When the list scroll, there are more view logic, such as scrolling control of other controls and disappearing;

  3. Card controls, there are more business logic, such as a different label, activity price, etc. based on background data, and there is also common business logic, etc.

  4. Because idle fish is an e-commerce app, we need to have certain dynamic capabilities to deal with frequently changed activities. Here we use the Flutter Dynamicx components of Ali to implement our dynamic capabilities.

Framework challenge

Let’s look at the overall flow of the list, here only pay attention to the free scroll phase after the finger is released.

  1. When the finger is released, the initial speed is calculated based on ScrollDragController.end;

  2. UI Thread requests RequestFrame to Platform Thread, and calls BegInframe to UI Thread at Platform Thread.

  3. The UI Thread Animate phase trigger list slides a little distance while registering the next frame callback to Platform Thread;

  4. Ui Thread Build Widget, generate / update the renderObject tree through the three tree DIFF algorithm of Flutter;

  5. UI Thread RenderObject Tree Layout, Paint Generates an Scene object, and finally passed to Raster Thread to draw on-screen;

The above flow must be completed in 16.6 ms to ensure that the frame cannot be guaranteed. Most of the cases, there is no need to build a new card, but when the new card enters the list area, the entire calculation amount will become huge, especially in complex business scenes, how to ensure all calculations within one frame of 16.6ms, Is a small challenge.

The figure above is a sliding devTool sample, and the Carton stage occurs when the new card is on the screen, and the other phases are very smooth, because the scrolling speed is attenuated, so the carton interval is also getting bigger. Because most of the time is very smooth, the average FPS is not low. However, the new card is built at the time of production, which gives us a stylish body feeling.

Challenge of dynamic capabilities – Flutter Dynamicx

The free fish APP card uses the self-developed Flutter Dynamicx to support our dynamic capabilities. Basic Principle: Online Edit Layout DSL, generate DX files and send it. The end side generates the DXComponentWidget by parsing the DX file and combines the back card data, and finally generates Widget Tree. FLUTTER DYNAMICX technology brings dynamic update capabilities, unified monitoring capabilities (such as dxcomponentwidget monitoring cards), good research and development insecurity (online DSL and Android Layout, and optimize Android), online editing capabilities;

But in performance, we also pay a certain price: DX cards add time to the template loading and data binding overhead, Widget wants to recursively create through WidgetNode traverses dynamically, and the view nesting layer will be deeper (followed by later).

Description: Flutter Dynamicx Reference Ali Group DSL Rules Realization

User’s sense of physical challenge

I have already described above, and the card in the FLUTTER list is more obvious.

When Android RecycleView occurs, the physical feel is not obvious, and the FLUTTER list has occurred when the card occurs, not only the time pause, but also a hopping on the OFFSET, and the physical feeling of small card is also changed. It is obvious;

Suppose the list content is simple enough, scrolling does not happen, we also found that the Flutter list and Android RecycleView are not the same:

? Use ClampingscrollPhysics to feel the feeling of similar magnets when the list is stopped.

? Use BOUNCINGSCROLLLPHYSICS, the list is started, and the speed attenuation is faster;

On the 90Hz machine, the early flutter list is not smooth, the reason is that the touch sampling rate is 120 Hz, and the screen refresh rate is 90Hz, causing partial screens to be 2 touch events, part is a 1 touch event, last Resulting in rolling OFFSET effects. When the Flutter 1.22 version, RESAMPLINGENABLED can be used to re-sample the touch event.

List container and flutterdx component optimization

Telling the challenge of Flutter fluidity optimization, now share how you optimize the smoothness and precipitate into PowerScrollView and Flutter Dynamic components.

PowerScrollView design and performance optimization

PowerscrollView is a snarefish team’s self-developing Flutter list assembly, with better packages and supplements on the Sliver Agreement: Data increased deletion, complement local refresh; layout, supplemented the waterfall flow; incident, supplement the card on the screen , Away, scrolling events; control, support for scrolling to Index.

In terms of performance, the waterfall flow layout optimization, local refresh optimization, card division optimization, and sliding curve optimization.

PowerScrollView Waterfall Flow Layout

PowerScrollView Waterfall Flow Layout provides longitudinal layout, lateral layout, mixed arrangement (transverse card and ordinary card mix). Nowadays, most of the listings of the hiped fish are available in PowerScrollView’s waterfall flow layout, such as the home page, search results page, etc.

PowerScrollView Waterfall Flow Layout Optimization

First, through conventional cache optimization, cache each card upper corner X value and which column belonging.

Compared to the Slivergrid card into the list area, the waterfall flow layout, we need to define Page, card admission to create and leave the field destruction need to be units. Before optimization, Page calculates cards in a screen visual area, and in order to determine the starting point Y value of Page, the primary layout needs to calculate the Page N and N + 1 two pages, so the amount of cards involved in the layout calculation is much lower, and the performance is low. After optimization, the approximation of all card height averages calculates Page, which greatly reduces the number of participating in the layout card, and the number of cards destroyed by Page also becomes less.

After the column cache and paging optimization, use the idle fish Self-developing Benchmark tool (follow-up) to compare the waterfall flow and GridView, view the number of frames and the worst frame consumption, can find that performance performance is basically consistent.

PowerScrollView local refresh optimization

Leisure fish products expect users to browse products more smooth, will not be loaded by loadmore, so the list is required to trigger LoadMore during scrolling. FLUTTER SLIVERLIST When the LOADMORE supplement card data, the List control is tender, and the slterlist building will destroy all cards and recreate it, and the performance data can be imagined very bad. PowerScrollView provides a layout refresh optimization: all cards on the cache screen, no longer recreate, ui thread Optimize from the original 34MS to 6MS (see the lower left picture), the right image is viewed by Timeline, the depth and complexity of the view built Optimize.

PowerScrollView card fragmentation optimization

The second figure 2 card is the early search results page of the idle fish, and it is not a waterfall flow. To view the Timeline chart when the card is created (adding DX Widget creation and PerformLayout overhead), you can find that the complexity of the card creation is extremely large. On the normal mid-range machine, the UI Thread consumes more than 30ms, to be optimized to 16.6ms It is very difficult to use routine optimization. For this purpose, two cards can be disassembled, and each frame is used to render.

Directly see the source code, the basic idea is to mark the card widget, when the card is true, the right card first _BuildPlaceHoldercell builds the Widget (empty Container), and register the next frame. In the next frame, the right card is modified with NeedShowRealcell for True, and self-laminate, and then build real content.

Is it delayed to build a true content of the card, will it affect the display content? Because the FLUTTER list has a cacheextends area on the visual area, this part of the area is not visible. In most scenarios, users don’t see the scene of the blank card.

Also using the FLUTTER BENCHMARK tool to perform performance test, you can see 90 points before and after the card division, 99 packet consumption has a significant downgrade, and the number of lost frames is also reduced from 39 to 27.

Note Here, when listening to the next frame, you need widgetsbinding.instance.scheduleframe to trigger the RequestFrame. Because when the list is displayed, it is possible because there is no callback from the next frame, resulting in the task of the delay display queue, eventually makes the first screen content display is incorrect.

Delayed framing optimization ideas and suggestions

Comparison of Flutter and H5 design:

  1. DART and JS are single-threaded models that need to be sequenced and deserialized across threads;

  2. Flutter Widget is similar to H5 VDOM, there is a DIFF process.

Early Facebook In React Optimization, the Fiber Architecture is proposed: Based on the VDOM Tree’s Parent Node → Sub-node → Brothers Node → Sub-node, the VDOM Tree is converted to the Fiber data structure (chain structure), and the reconcile phase is implemented. Interrupt recovery; based on the Fiber data structure, the control section continues in the next frame.

Based on React Fiber thinking, we propose its own delayed framing optimization, not just left and right card size, further, render content disassembled as the current frame task, high-excellent delay task and low delay tasks, the upper screen priority is sequentially changed Low. Where the current frame task is the left and right white Container; the high-optovel delay task is exclusively frame, where the picture portion also uses Container placeholders; in the idle fish scene, we dismantled all DX image widget from the card, as low as low Excellent delay tasks and is set to no more than 10 in one frame consumption.

By disassembling the 1 frame display task to 4 frames, the highest UI on the high-end machine will be optimized from 18 ms to 8 ms.

Description 1: Different business scenes, high-yogle and low-probing task settings have different description 2: Slide on the low-end machine (such as Vivo Y67), the sub-frame scheme will let the user see the list whitening and content Upable process

FLUTTER-DYNAMICX Component Optimization – Principle Explanation

Edit the "Class Android Layout DSL", compile the binary DX file. The end side is downloaded, loaded, and resolved, and the WidgetNode Tree is generated. See the right figure.

After the business data issued in the background, the Widget Tree is generated by recursively traversing WidgetNode Tree, and finally appears.

Description: Flutter Dynamicx Reference Ali Group DSL Rules Realization

FLUTTER-DYNAMICX Component Optimization – Cache Optimization

I know the principle, it is easy to discover the flow in the red box in the picture: binary (template) file parsing load, data binding, Widget dynamic creation has certain overhead. To avoid repeated overhead, we have cached DXWIDGETNODE and DXWIDGET, and the blue selection code shows the Widget cache.

FLUTTER-DYNAMICX Component Optimization – Independence ISOLATE Optimization

In addition, the above logic is placed in a stand-alone ISOLATE, and the maximum amount is lowered to the lowest. After the line technology grayscale AB experiment, the average carton bad frame ratio is reduced from 2.21% to 1.79%.

FLUTTER-DYNAMICX Component Optimization – Hierarchical Optimization

FLUTTER DYNAMICX provides class Android Layout DSL, adds Decoration layers to implement each control Padding, Margin, Corner, adds the Decoration layer; to implement the DXContainerRender layer. Every layer has its own clear duty, the code level is clear. However, since the increase in 2 layers caused the Widget Tree hierarchy, the DIFF logic of 3 trees became complicated and the performance becomes low. To do this, we merge the Decoration layer and the DXContainerRender layer, see the middle Timeline diagram, which can be found that the optimized flame grading and complexity becomes low. After the line technology grayscale AB experiment, the average carton bad frame ratio is reduced from 2.11% to 1.93%.

Performance measurement and devtool extension

Tell the optimization tool, which is described here to make a measure of how to measure, and the build / extension of the tool.

Offline scene – Flutter BenchmarkWhen the FLUTTER is detected, the calculation consumption on the UI Thread and Raster Thread is required. So the Flutter optimizes before and after comparison, using the time consuming data of the UI Thread and Raster Thread of each frame.

In addition, the fluency performance value is affected by the operating gesture, the scrolling speed, so the error based on the measurement results of manual operations will have errors. Here, use the WidgetController control list control FLING.

The tool provides the interval between the scrolling speed, the number of scrolls, the scroll, and the like. After the scrolling test is completed, the data is displayed by the UI and Raster Thread frame, 50 points, 90 points, and 99-positioned frame consumption, and give performance data from a variety of dimensions.

Offline scenario – Based on the recording screen

Flutter Benchmark gives multi-dimensional measurement data at the Flutter page, but sometimes we need a horizontal comparison competition app, so we need to have a tool transverse to more different technologies. The idle fish is self-developed in the Android side to self-developed the recording screen data. Imagine the mobile phone interface into multiple screens, get the screen data (byte arrays) (byte arrays) by sending VirtualDisplay, interval 16.6 ms, using the Hash value of the byte array represents the current picture, the current 2 The Hash-read hash value is unchanged, and the Carton is considered.

In order to ensure that the fluency detecting tool app itself does not have a carton, it is read, which is compressed, and the compression ratio on the low-end machine is higher.

Through the detection of the tool without invading, a rolling test can be detected, the average FPS value (57), the frame distribution is variance (7.28), 1S time, the large number of large cards (0.306), large card cumulative time (27.919). Intermediate array display frame distribution: 371 represents the number of normal frames, 6 generations 16.62ms of small cardon quantity, 1 generation 16.63MS quantity.

Here is the definition of the big Carton: Carton, greater than 16.6 * 2 ms.

Offline Scene – Performance Detection Based on DEVTOOL

In addition, the scenes of the idle fish are also extended DevTool. In a Timeline map extended time-consuming, greater than 16.6ms red highlight, convenient development.

Online scene-Flutter high available detection FPS implementation principle

Online scene, idle fish self-developed Flutter high available. The basic principle is based on 2 events:

  • Ui.window.onbeginframe event

    • Engine notifies the VYSNC signal arrival, notify UI Thread to start preparing the next frame building

    • Trigger schedulerbinding.handlebeginframe callback

  • Ui.window.ondrawframe event

    • Engine Notification UI Thread Start Draw Next Frame

    • Trigger schedulerbinding.handledrawframe callback

Here we have recorded a frame start event before the Handlebeginframe processing, and the end of the frame is recorded after HandledrawFrame. Each frame here needs to calculate the list control offset value, and the specific code implementation is implemented. When the entire accumulated exceeds 1, executes a calculation, filtering out the scene without scrolling, calculates the FPS value using each frame.

Online Scene – FlutterBlockcanary Line Stack Stack Detection

After using Flutter high available to get the online FPS value, how to locate the stack information, you need to collect stack information. Free fish collects carton stacks using the self-developed Flutterblockcanary. The basic principle is that the signal is transmitted in the C layer, such as 5ms once, each signal receives the Dart Ui Thread stack collection, the resulting series of stacks are aggregated, and the same stacks in a row are considered to have occurred in Carton, this This stack is the stack of Carton we want.

The following figure is the stack information collected by Flutterblockcanary, and the middle framefpsRecorder.getscrolloffset is a Carton call.

Online scene – FlutterBlockcanary Detects overreservation

In addition, FlutterBlockcanary also integrates over-rendering detection capabilities. Replace the Buildowner object by replying widgetsflutterbinding, replacing the buildowner object, and rewrive the ScheduleBuildFor method to intercept Element. Based on the dirty ELEMENT node, extract the depth of the dirty node, the number of direct child nodes, the number of all child nodes.

Based on the number of all child nodes, in the idle fish details page, we are positioned to the "Quick Question View" during scrolling, and the number of transes and all child nodes are too large. View the code, positioning the view hierarchical level, by sinking the view to the leaves node, the number of stasible Build nodes is optimized from 255 to 43.

FLUTTER sliding curve optimization

The front told Tarton optimization means and measures and standards are mainly surrounded by FPS. But from the user’s physical feel, we found that Flutter also has many optimal points.

FLUTTER list slide curve and native curve

Compare the scroll curve of OFFSET / TIME, you can find that the Flutter BouncingScrollsimulation and iOS scroll curve are close, Clampingscrollsimulation and RecyClerView are close. Check the Flutter source code, it is true.

Because BouncingScrollsimulation has rebound, many pull-down refreshes and load more features are based on BOUNCINGSCROLLSIMULATION package, which causes the Flutter page sliding, physical and native Android pages inconsistent.

Flutter list performance and optimization under fast sliding

Although the Clampingscrollsimulation slides and Android RecyclerView is close, but in the quick sliding scenario, you can find that the flutter list scrolls quickly stops, and quickly slides. For the reason, you can see the moment that the sliding curve is stopped, and the speed is not a decline, and it will speed up, finally reach the end point, and stop. Based on the source code formula, the curve can be discovered that flutter clampingscrollsimulation is approximated by the Formula Fitting Method to approximate the Android RecyclerView Curve. In the case of rapid sliding, the focus of the formula curve is not 1 corresponding value, but the right image is broken, the speed will become fast.

It can be understood that the FLUTTER’s formula fit is not ideal. In the near future, there is also a PR proposed using DART to implement the RecyclerView curve.

Flutter list performance and optimization in the case of Carton

The first chapter is mentioned in the case of the same FPS, such as the FPS 55, the native list feels smooth, and the styles of the FLUTTER list are more obvious. One reason here is that the native list usually has multiple thread operations, and there is a lower probability of the big Carton; the other reason is that the same small carton’s body, FLUTTER has obvious statter, and the native list can’t feel. So why?

When we build cards, we deliberately create small Carton, compare the flutter list and RecyclerView before and after, and you can find that RecyclerView Offset does not hop, and the Flutter curve has a lot of burrs, because Flutter scrolling is based on D / T curve calculation, When a carton occurs, △ t doubles, and OFFSET also trips. It is also because of time pause and offset jump, let users know that the Flutter list is not unstoppable in small Carton.

By modifying the Y=D (T) formula, in the case of Carton, ΔT-16.6ms will ensure that the small Carton case is not hopped. In the case of Great Carton, it is not necessary to reset the ΔT to 16.6ms, because in the parking time, it has been clearly allowed to give the user to feel the carton, OFFSET does not have a trip only to make the list rolling distance short.

Performance optimization

Finally share some suggestions for performance optimization.

  1. In optimization, we should pay more attention to the user’s body, not only the performance value. The upper right map is visible, even if the FPS value is the same, but the taste occurs, the body feels clearly; the bottom of 2 game recording screens, the left side average 40 fps, the average of 30 fps, but the body feels is more smooth .

  2. Not only should I pay attention to the performance of UI Thread, but also pay attention to the overhead of Raster Thread, such as the characteristics / operation of Save Layer, but also causing Carton.

  3. In terms of tool, it is recommended to use different tools in different scenarios. It should be noted that the problem of tool detection is a stable reproduction problem or the occasion of data jitter. In addition, it is also necessary to consider the performance overhead of the tool itself, and the tool itself needs to be as low as possible.

  4. In terms of optimization ideas, we must broaden the direction. Most optimized ideas of Flutter are optimized computing tasks; and multithreading direction is not, refer to the independent ISOLATE Optimization of Flutter Dynamicx; in addition, it is difficult to digestive tasks for one frame Whether it is possible to disassemble multiple frame time, try to make a card per frame, priority to the user.

  5. Finally, I recommend paying attention to the Flutter community. The Flutter community continues to have a variety of optimization, regularly upgraded Flutter or dimensions, CHERRY-PICK optimization submission, is a good choice.

Performance analysis tool usage suggestions

Flutter tool, the first push is the official devtools tool, the Timeline and CPU Flammatic maps can help us discover problems well; in addition, Flutter also provides a wealth of Debug Flags to assist our positioning problems, familiar with each Debug switch Role, I believe that there will be no homage to our daily research and development; in addition to official tools, performance logs are also good auxiliary information, as shown in the lower right corner, the idle fish Fish-Redux component outputs the task overhead in the scroll, can It is convenient to see that at that moment.

Performance analysis tools themselves

Performance testing tools inevitably have certain overhead, but must be controlled within an acceptable range, especially on the line. A case in front sharing the FLUTTERBLOCKCANARY detection tool, discovers the framefpsRecorder.getscrolloffset time consumption, and the logic is just that Flutter is highly available to scroll offset. See the right front source code of the right picture, each frame needs to be recursively traversed to collect RenderViewPortBase, which is a small overhead. Finally, we avoid the repetition calculations during the scroll through the cache optimization.

Carton optimization suggestions

Reference official documents and excellent performance articles, precipitated a lot of routine optimization methods in the UI and GPU side, such as refreshing the minimum widget, using itemextent, recommended using Selector and Consumer, etc., avoid unnecessary DIFF computing, layout calculation, etc. Reduce SAVELAYER, replace half-transparent effects using images, alleviate the overhead of the Raster thread.

Because of the reasons, only part of the sequence, more common optimization suggestions see the official documentation.

Use the latest Flutter Engine

As mentioned earlier, the Flutter community is also active, Framework and Engine layers have an optimized PR income, which mostly can make the business layer without perception, and better optimize performance from the bottom viewing angle.

Here, there is a typical optimization scheme: existing flutter solution: When each VSYNC signal arrives, it triggers the build operation. At the end of Build, start register the next vsync callback. In the case where a carton does not occur, see Figure Normal. However, in the case of carton, see Figure Actual Results, just over 16.6ms here, because it is a registration listening to the next vsync callback, triggered the next build, for this, a large amount of time in the middle. Obviously, what we expect is, at the end, immediately execute, assuming enough to execute enough, this time the screen is still smooth.

If the team allows, it is recommended to upgrade the flutter version regularly; or maintain your own Flutter independent branch is also a good choice. From the community Cherry-Pick optimization, you can guarantee that business stability can also enjoy the community contribution. In short, I recommend you to pay attention to the community.

Summarize

In summary, the challenges, monitoring tools, optimization methods, and recommendations are shared by Flutter fluidity optimization. Performance optimization should be people-centered, develop monitoring indicators and optimization points from actual physical fitness; fluency optimization is not one, the above share is not all, there are many optimized means to pay attention: How to better multiplex Element, how to avoid Platform Thread busy leading to vsync signal lacking, etc., is a point that can be concerned. Only the continuous technical enthusiasm and conscious spirit can optimize the APP performance to the ultimate; technical teams also have access to open source communities, other teams / companies to connect, That stone stone, Can be attacked.