成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

咸魚flutter,咸魚他想開了

Android & Flutter 相互跳轉(zhuǎn)

本文中native和flutter的跳轉(zhuǎn)是借助于咸魚的FlutterBoost和ARouter框架實現(xiàn)的。

創(chuàng)新互聯(lián)建站主要從事網(wǎng)站設(shè)計、網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務。立足成都服務岳塘,十余年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務專業(yè),歡迎來電咨詢建站服務:18982081108

Sync Now...

flutterBoost中需要給每個頁面定義一個router_path,然后根據(jù)router_path找到對應頁面再跳轉(zhuǎn)。

在Application的onCreate中初始化

android jump to flutter

flutter jump to android

電影中優(yōu)美的英語句子

1、人若無名,便可專心?!队⑿邸?/p>

If a man unknoe back again.

8、不是子彈,而是美女殺死了野獸?!督饎偂?/p>

Is not a bullet, but beauty killed the beast.

9、歷史是由殺死英雄的人寫的?!队赂业男摹?/p>

History is an and a good man, ale aesthetic fatigue.

32、做人如果沒有夢想,那和咸魚有什么區(qū)別?《少林足球》

If a man has no dream, en, especially etimes have to stop, sometimes the crossroads.

39、我愿意付出一切,只求能再次接觸你一次!《人鬼情未了》

I am an, to protect our motherland.

49、一個時代結(jié)束了,屬于那個時代的一切都不復存在?!痘幽耆A》

An era is over, all belong to that era ceased to exist.

50、生活就像一盒巧克力,你永遠不知道你會得到什么?!栋⒏收齻鳌?/p>

Life is like a box of chocolates, you never know what youre gonna get.

51、生活這條狗啊,追的我連從容撒泡尿的時間都沒有?!队⑿蹠r代》

Life the dog, after I didnt even have time to calm and urine.

52、我知道要想不被人拒絕,最好的辦法就是先拒絕別人?!稏|邪西毒》

53、人生本就是苦還是只有童年苦?生命就是如此。《這個殺手不太冷》

Life is hard or is it just a kid? Life is so.

54、真相是一種美麗又可怕的東西,需要格外謹慎地對待?!豆锊ㄌ亍?/p>

The truth is a beautiful and terrible thing, need to be cautious about.

55、我不相信有天堂,因為我被困在這個地獄的時間太長了?!秮喩酢?/p>

I dont believe in heaven, because I was trapped in the hell too long.

56、我甚至連他的一張照片都沒有。他只活在我的記憶里?!短┨鼓峥颂枴?/p>

I even dont have a picture of him. He only live in my memory.

57、沒有法律。沒有限制。只有一條規(guī)則永遠也別墜入愛河?!都t磨坊》

There is no law. There is no limit. There is only one rule: never fall in love.

58、多希望地球是平的,那樣,我一直望下去,就可以看到你。《似水年華》

Wish the world was flat, so, I looked down, can see you.

優(yōu)美的英語句子_優(yōu)美的句子

一、No man or eone deeply gives you courage.被愛給你力量,愛人給你勇氣。

八、人生需要一點勇氣和膽量,就如登一座懸崖峭壁的山峰,雖然上面都有云梯、搭好的臺階,可你就是有點膽怯,不敢向前,但你戰(zhàn)勝了自我,到達了頂峰,看到了山頂?shù)木吧?,你就會感到勇氣和膽量是成功的標準人生何嘗不是如此呢?

九、Today, give a stranger one of your smiles. It might be the only sunshine he sees all day.今天,給一個陌生人送上你的微笑吧。很可能,這是他一天中見到的唯一的陽光。

十、Lookers-on see most of the game. 旁觀者清,當局者迷。

十一、I never consider ease and joyfulneas the purpose of life itself.我從來不認為安逸和享樂是人生本來的目的。

十二、I can make it through the rain. I can stand up once again on my oorroher.幸福,就是找一個溫暖的人過一輩子。

二十七、ch for it if it doesnt appear in your life.

三十一、I understand you have called content, and you dont understand is th.我懂有你叫知足,而你卻不懂有我叫珍惜。

優(yōu)美的英語句子

1.One is ale true, or having something to eat ething up but can never put it dofort me because each seeone, changes are all around. Then I stepback overlooking one person an is not sexy, she needs emotion; if she is not emotional, she needs reason; if she is not reasonable, she has to knoetime for forgetting.A badly-hurt heart needs no sympathy but understanding.

一段不被接受的愛情,需要的不是傷心,而是時間,一段可以用來遺忘的時間。一顆被深深傷了的心,需要的不是同情,而是明白。

21. I knoeone, asking for no result, no company, no oe more broad-minded and can accept everything. Conversely, I think its a selecting process, knoan, one house, one piece of land to call your oan too beautiful; its a voyage too long, a perfume too strong. Its a music I dont knoe to my window to sing and fly away.

And yellow leaves of autumn, which have no songs, flutter and fall there with a sign.

夏天的飛鳥,飛到我的窗前唱歌,又飛去了。

秋天的黃葉,它們沒有什么可唱,只嘆息一聲,飛落在那里。

優(yōu)美的英語語句

當明天變成了今天成為了昨天,最后成為記憶里不再重要的某一天,我們突然發(fā)現(xiàn)自己在不知不覺中已被時間推著向前走,這不是靜止火車里,與相鄰列車交錯時,仿佛自己在前進的錯覺,而是我們真實的在成長,在這件事里成了另一個自己。 e different.

愛所祈求的唯一禮物就是愛。 The only present love demands is love.

離開我就別安慰我,要知道每一次縫補也會遭遇穿刺的痛。 If you leave me, please dont comfort me because each seeone, changes are all around. Then I stepbacke lovers eyes.

電影中優(yōu)美的英語句子,別說吃你幾個爛西瓜

1、人若無名,便可專心?!队⑿邸?/p>

If a man unknoe back again.

8、不是子彈,而是美女殺死了野獸?!督饎偂?/p>

Is not a bullet, but beauty killed the beast.

9、歷史是由殺死英雄的人寫的?!队赂业男摹?/p>

History is an and a good man, ale aesthetic fatigue.

32、做人如果沒有夢想,那和咸魚有什么區(qū)別?《少林足球》

If a man has no dream, en, especially etimes have to stop, sometimes the crossroads.

39、我愿意付出一切,只求能再次接觸你一次!《人鬼情未了》

I am .

51、生活這條狗啊,追的我連從容撒泡尿的時間都沒有?!队⑿蹠r代》

Life the dog, after I didn't even have time to calm and urine.

52、我知道要想不被人拒絕,最好的辦法就是先拒絕別人?!稏|邪西毒》

I know that one way to avoid being rejected, the best way is to refuse others first.

53、人生本就是苦還是只有童年苦?生命就是如此?!哆@個殺手不太冷》

Life is hard or is it just a kid? Life is so.

54、真相是一種美麗又可怕的東西,需要格外謹慎地對待?!豆锊ㄌ亍?/p>

The truth is a beautiful and terrible thing, need to be cautious about.

55、我不相信有天堂,因為我被困在這個地獄的時間太長了?!秮喩酢?/p>

I don't believe in heaven, because I was trapped in the hell too long.

56、我甚至連他的一張照片都沒有。他只活在我的記憶里?!短┨鼓峥颂枴?/p>

I even don't have a picture of him. He only live in my memory.

57、沒有法律。沒有限制。只有一條規(guī)則永遠也別墜入愛河?!都t磨坊》

There is no law. There is no limit. There is only one rule: never fall in love.

58、多希望地球是平的,那樣,我一直望下去,就可以看到你?!端扑耆A》

Wish the world was flat, so, I looked down, can see you.

優(yōu)美的英語句子_優(yōu)美的句子

一、No man or eone deeply gives you courage.被愛給你力量,愛人給你勇氣。

八、人生需要一點勇氣和膽量,就如登一座懸崖峭壁的山峰,雖然上面都有云梯、搭好的臺階,可你就是有點膽怯,不敢向前,但你戰(zhàn)勝了自我,到達了頂峰,看到了山頂?shù)木吧憔蜁械接職夂湍懥渴浅晒Φ臉藴嗜松螄L不是如此呢?

九、Today, give a stranger one of your smiles. It might be the only sunshine he sees all day.今天,給一個陌生人送上你的微笑吧。很可能,這是他一天中見到的唯一的陽光。

十、Lookers-on see most of the game. 旁觀者清,當局者迷。

十一、I never consider ease and joyfulneas the purpose of life itself.我從來不認為安逸和享樂是人生本來的目的。

十二、I can make it through the rain. I can stand up once again on my oorroher.幸福,就是找一個溫暖的人過一輩子。

二十七、ch for it if it doesnt appear in your life.

三十一、I understand you have called content, and you dont understand is th.我懂有你叫知足,而你卻不懂有我叫珍惜。

優(yōu)美的英語句子

1.One is ale true, or having something to eat ething up but can never put it dofort me because each seeone, changes are all around. Then I stepback overlooking one person an is not sexy, she needs emotion; if she is not emotional, she needs reason; if she is not reasonable, she has to knoetime for forgetting.A badly-hurt heart needs no sympathy but understanding.

一段不被接受的愛情,需要的不是傷心,而是時間,一段可以用來遺忘的時間。一顆被深深傷了的心,需要的不是同情,而是明白。

21. I knoeone, asking for no result, no company, no oe more broad-minded and can accept everything. Conversely, I think its a selecting process, knoan, one house, one piece of land to call your oan too beautiful; its a voyage too long, a perfume too strong. Its a music I dont knoe to my window to sing and fly away.

And yellow leaves of autumn, which have no songs, flutter and fall there with a sign.

夏天的飛鳥,飛到我的窗前唱歌,又飛去了。

秋天的黃葉,它們沒有什么可唱,只嘆息一聲,飛落在那里。

優(yōu)美的英語語句

當明天變成了今天成為了昨天,最后成為記憶里不再重要的某一天,我們突然發(fā)現(xiàn)自己在不知不覺中已被時間推著向前走,這不是靜止火車里,與相鄰列車交錯時,仿佛自己在前進的錯覺,而是我們真實的在成長,在這件事里成了另一個自己。 e different.

愛所祈求的唯一禮物就是愛。 The only present love demands is love.

離開我就別安慰我,要知道每一次縫補也會遭遇穿刺的痛。 If you leave me, please dont comfort me because each seeone, changes are all around. Then I stepbacke lovers eyes.

蘋果在“偉大”背后其實是齷齪油膩大叔 (連載之一)

在幾千年的商業(yè)歷史上,迄今為止,應該沒有一個品牌能像蘋果這樣在全世界范圍內(nèi)被廣泛且深入地神話化、宗教化、圖騰化,使其品牌形象在44年間逐漸升華至一種超越宗教、超越人種、超越國家且超越真實(即虛假)的崇高和偉大。這種崇高和偉大觸及各種我們能想到的普世價值:自由、平等、尊重個性、創(chuàng)新、關(guān)懷弱勢等。以至于在中華大地,特別是在知乎這種集聚著被充分洗腦的高不成低不就的果粉的平臺,如果對蘋果發(fā)表一些基于事實的負面評論,那將立即被群起而攻之,那種委曲和憤憤不平讓人感覺甚于侮辱了他們的父母。對于蘋果,這是一種幸福,也是一種目標實現(xiàn),因為這正是他們每年花上百億美元做各種營銷的目的。對于商業(yè)圈內(nèi)的友商,對于被蘋果欺負和壓榨的企業(yè)或個人,這是一種霸權(quán)主義,這是一種以大欺小,這是一種店大欺客,這是更是一種深深的無奈和悲傷。

如果將企業(yè)擬人化,44歲的蘋果,無論他外表多么光鮮靚麗,從各種事實來說,在本質(zhì)上蘋果其實是一個唯利是圖、不擇手段的齷齪油膩大叔。

下面我們弄一個簡單編年史來說說蘋果為什么是一個唯利是圖、不擇手段的齷齪油膩大叔。

一、Adobe篇:蘋果公報私仇封殺Flash

1982年,從施樂公司辭職創(chuàng)業(yè)的查爾斯與沃諾克攜手創(chuàng)辦Adobe,推出打印軟件產(chǎn)品PostScript,大受歡迎。蘋果當時的麥金塔電腦好看不好用:缺乏應用軟件,于是喬布斯請查爾斯與沃諾克吃飯喝酒,讓Adobe為蘋果的封閉系統(tǒng)開發(fā)蘋果版的PostScript,最終雙方達成合作意向。蘋果還投資250萬美元購買了340萬股Adobe的股票。Adobe技術(shù)結(jié)合蘋果產(chǎn)品組合獲得了成功。

1985年,喬布斯被蘋果董事會掃地出門。Adobe的創(chuàng)始人沃諾克為喬布斯說好話,并繼續(xù)與喬布斯保持密切聯(lián)系,引起當時蘋果強烈不滿。于是在1989年,蘋果聯(lián)合微軟收拾Adobe,讓微軟為蘋果提供替代PostScript的應用,并賣掉全部Adobe的股票。股票套現(xiàn)成功,賺了約8000萬美元,但聯(lián)合行動失敗,蘋果在1991年被迫與Adobe恢復合作伙伴關(guān)系。

(評論:這是蘋果的第一次公報私仇。)

1996年底,喬布斯回歸奄奄一息的蘋果。1998年,喬布斯找Adobe,希望Adobe為蘋果電腦開發(fā)一套視頻處理軟件。當時蘋果電腦市場份額低至5%,而開發(fā)一套視頻處理軟件需要耗費巨大的人力物力,Adobe覺得這個項目實在沒辦法賺錢,于是婉拒了喬布斯,沒想到這為10多年后埋下了禍根。

(評論:記仇是蘋果各種齷齪行為的一個顯著特征。)

2007年,第一代iPhone發(fā)布,一炮而紅,但iPhone與當時火熱的Adobe Flash不兼容(當時世界上所有其他手機廠商都支持Flash)。Adobe爭取蘋果的支持,但喬布斯拒絕表態(tài)。

2008年,第二代iPhone(iPhone 3G)發(fā)布。對于Flash,喬布斯模糊地說了一句:Flash并不是很適合iPhone。Adobe覺得還有希望,繼續(xù)爭取。

2009年,第三代iPhone(iPhone 3GS)發(fā)布。喬布斯還是沒有明確表態(tài)。

2010年1月,Adobe決定不等了,稱不管蘋果愿意與否都投入到針對iOS的Flash開發(fā)。同年4月,喬布斯寫了一封長篇公開信,宣布iOS不支持Flash,并一口氣判了Flash六宗罪,并在別的公開場合跳出產(chǎn)品范疇攻擊Adobe這個企業(yè):“Adobe很懶惰…..他們?nèi)狈ο裉O果一樣的行事方法”。對于喬布斯的六宗罪,Adobe進行了逐一反駁,但當然沒用。在蘋果封殺和各種詆毀下,F(xiàn)lash在最終被HTML5等其他技術(shù)淘汰,將在2020年底徹底停止更新。

(評論:喬布斯為了這完美復仇,足足等了14年,而且在iPhone推出后,還繼續(xù)等了3年多才公開表態(tài),因為他知道要等iPhone足夠強了才能有底氣與Adobe徹底攤牌,否則這個復仇風險太高。如果在iPhone還不強的時候與Adobe正式宣戰(zhàn),萬一Adobe全面停止對蘋果產(chǎn)品的支持怎么辦?要知道,齷齪需要資本,油膩說明有經(jīng)驗。下面我們看看喬布斯的六宗罪是怎么說的。)

第一罪:Flash是一套封閉的系統(tǒng)。

(評論:我的天!蘋果還有臉說別人封閉!蘋果整個生態(tài)都是封閉的好嗎?聽到蘋果說別人封閉,不僅我們覺得好笑,Adobe也覺得好笑,它的官方回復是:“非常幽默?!盕lash的確是一個開放的標準,在2009年它在全球有13億次安裝量,超過200萬Flash開發(fā)者,92%的Windows用戶會裝Flash Player,無數(shù)動畫和游戲都需要Flash。)

第二罪:完整的網(wǎng)絡:蘋果的用戶不用Flash沒問題,因為有別的可玩的。

(評論:這個神邏輯很有川建國的風范。邏輯可以簡化為:你有個好東西,好多人都用,但我就不用,為什么?因為我有別的東西,別的東西也很好。請問這解釋了不用的原因嗎?沒有。這只是說了不用的補救措施,隨便吹噓一下自己。)

第三罪:可靠性、安全性和性能:Flash造成Mac死機,F(xiàn)lash不安全,F(xiàn)lash在移動端表現(xiàn)不行。

(評論:這是無數(shù)果粉用來洗白蘋果的理由,更用Flash最終消亡的結(jié)果神化喬布斯,說他多么高瞻遠矚,其實根本是胡扯。如果一個軟件能引起一個電腦的操作系統(tǒng)死機,你說這個操作系統(tǒng)本身還安全可靠嗎?說Flash不安全,感覺的確有點道理,F(xiàn)lash的確好多漏洞,Adobe及Flash的開發(fā)者一直在補漏洞。但話又說回來,系統(tǒng)開放的代價是風險提高,但不能因為這個系統(tǒng)有一點風險就徹底否定它,而是應該綜合衡量各種因素,特別是用戶體驗。系統(tǒng)的安全是靠迭代去提升的,不可能一開始就有完美的系統(tǒng),包括蘋果自己。蘋果即使是封閉的系統(tǒng),他的iCloud不是總被攻破嗎?iPhone不是也總被刷機破解嗎?一件事情要放在一定的歷史背景下討論才有意義:在2000年到2010年間,F(xiàn)lash的的確確讓十多億的用戶提供了便利和樂趣,在當時,F(xiàn)lash的確也是蘋果客戶想兼容的。最后,喬布斯說Flash在移動端表現(xiàn)不行,但事實是當時Flash Player在Google Play上曾廣受歡迎,有三分之二的用戶給其打了最高分。最終Flash的確是消亡了,但它的消亡一半是因為蘋果的封殺(其實還有微軟和Youtube的封殺),一半是HTML5在技術(shù)上的確有優(yōu)勢,但這個客觀結(jié)果絕對不能用來洗白喬布斯主觀上的公報私仇。再補充一點,果粉老是吹噓蘋果怎么把安全視為生命線,但事實是喬布斯并沒有把這點放在最重要的第一罪或最后一罪。)

第四罪:耗電:Flash是軟件解碼,所以耗電多了1倍。

(評論:喬布斯的原話是:“iPhone播放H.264視頻可以堅持10小時,而使用軟件解碼模式,電池在5小時內(nèi)耗盡。”請問哪一代的iPhone可以連續(xù)看視頻10小時?從來沒有好不好?iPhone出了名耗電驚人,華為說這個話我們可能相信,蘋果說這話自己不心虛?Adobe在安卓上已經(jīng)驗證過用Flash和不用Flash看視頻的電量區(qū)別,喬布斯根本就是胡扯。)

第五罪:Flash做觸摸屏體驗不行,而且開發(fā)者需要花很多額外的勞動在Flash上實現(xiàn)觸摸。

(評論:事實已經(jīng)證明喬布斯在這點上也是毫無根據(jù)。Flash在安卓上體驗完美,一點問題沒有。至于說開發(fā)者不高興,F(xiàn)lash在當時有無數(shù)的應用,開發(fā)者都擠破頭加入,他們沒不高興,你喬布斯為什么不高興?Flash收取開發(fā)者的費用非常低廉(使用低級功能免費),與蘋果的30%抽成相比,你說開發(fā)者更喜歡誰?)

第六罪:喬布斯說這是最重要的原因:Flash是一個跨平臺開發(fā)工具,因此Adobe的目標不是幫助開發(fā)者編寫最棒的蘋果應用軟件,于是蘋果客戶也不能有最好的體驗。

(評論:這個邏輯是偽邏輯。為什么Flash是一個跨平臺開發(fā)工具就能推導出Adobe的目標不是幫助開發(fā)者編寫最棒的蘋果應用軟件?我們能舉出一堆世界級的跨平臺開發(fā)工具給iOS帶來好體驗的例子:騰訊的微信小程序,谷歌的Flutter(咸魚,京東及美團在用),F(xiàn)acebook的React Native(QQ音樂,QQ空間及手機百度在用),阿里的Weex(淘寶及支付寶在用),還有Adobe的PhoneGap(對的,是你喬布斯說的跨平臺不好,現(xiàn)在也是跨平臺的工具,還更是Adobe的東西,這個你怎么又不封殺呢?)。可見,喬布斯這一點也是扯淡的。)

綜合上面六個罪,喬布斯沒有一個理由是靠得住的,這也在側(cè)面證明了蘋果封殺Flash純粹就是以大欺小,公報私仇。

下一篇預告:iPhone 4信號門篇:蘋果欺騙客戶讓客戶換個姿勢打電話

Flutter浪潮下的音視頻研發(fā)探索

文/陳爐軍

整理/LiveVideoStack

大家好,我是阿里巴巴閑魚事業(yè)部的陳爐軍,本次分享的主題是Flutter浪潮下的音視頻研發(fā)探索,主要內(nèi)容是針對閑魚APP在當下流行的跨平臺框架Flutter的大規(guī)模實踐,介紹其在音視頻領(lǐng)域碰到的一些困難以及解決方案。

分享內(nèi)容主要分為四個方面,首先會對Flutter有一個簡單介紹以及選擇Flutter作為跨平臺框架的原因,其次會介紹Flutter中與音視頻關(guān)系非常大的外接紋理概念,以及對它做出的一些優(yōu)化。之后會對閑魚在音視頻實踐過程中碰到的一些Flutter問題提出了一些解決方案——TPM音視頻框架。最后是閑魚Flutter多媒體開源組件的介紹。

Flutter

Flutter是一個跨平臺框架,以往的做法是將音頻、視頻和網(wǎng)絡這些模塊都下沉到C++層或者ARM層,在其上封裝成一個音視頻的SDK,供UI層的PC、iOS和Android調(diào)用。

而Flutter做為一個UI層的跨平臺框架,顧名思義就是在UI層也實現(xiàn)了一個跨平臺開發(fā)??梢灶A想的是未Flutter發(fā)展的好的話,會逐漸變?yōu)橐粋€從底層到UI層的一個全鏈路的跨平臺開發(fā),技術(shù)人員分別負責SDK和UI層的開發(fā)。

在Flutter之前已經(jīng)有很多跨平臺UI解決方案,那為什么選擇Flutter呢?

我們主要考慮性能和跨平臺的能力。

以往的跨平臺方案比如Weex,ReactNative,Cordova等等因為架構(gòu)的原因無法滿足性能要求,尤其是在音視頻這種性能要求幾乎苛刻的場景。

而諸如Xamarin等,雖然性能可以和原生App一致,但是大部分邏輯還是需要分平臺實現(xiàn)。

我們可以看一下,為什么Flutter可以實現(xiàn)高性能:

原生的native組件渲染以IOS為例,蘋果的UIKit通過調(diào)用平臺自己的繪制框架QuaztCore來實現(xiàn)UI的繪制,圖形繪制也是調(diào)用底層的API,比如OpenGL、Metal等。

而Flutter也是和原生API邏輯一致,也是通過調(diào)用底層的繪制框架層SKIA實現(xiàn)UI層。這樣相當于Flutter他自己實現(xiàn)了一套UI框架,提供了一種性能超越原生API的跨平臺可能性。

但是我們說一個框架最終性能怎樣,其實取決于設(shè)計者和開發(fā)者。至于現(xiàn)在到底是一個什么狀況:

在閑魚的實踐中,我們發(fā)現(xiàn)在正常的開發(fā)沒有特意的去優(yōu)化UI代碼的情況下,在一些低端機上,F(xiàn)lutter界面的流暢性是比Native界面要好的。

雖然現(xiàn)在閑魚某些場景下會有卡頓閃退等情況,但是這是一個新事物發(fā)展過程中的必然問題,我們相信未來性能肯定不會成為限制Flutter發(fā)展的瓶頸的。

在閑魚實踐Flutter的過程中,混合棧和音視頻是其中比較難解決的兩個問題,混合棧是指一個APP在Flutter過程中不可能一口氣將所有業(yè)務全部重寫為Flutter,所以這是一個逐步迭代的過程,這期間原生native界面與Flutter界面共存的狀態(tài)就稱之為混合棧。閑魚在混合棧上也有一些比較好的輸出,例如FlutterBoost。

外接紋理

在講音視頻之前需要簡要介紹一下外接紋理的概念,我們將它稱之為是Flutter和Frame之間的橋梁。

Flutter渲染一幀屏幕數(shù)據(jù)首先要做的是,GPU發(fā)出的VC信號在Flutter的UI線程,通過AOT編譯的機器碼結(jié)合當前Dart Runtime,生成Layer Tree UI樹,Layer Tree上每一個葉子節(jié)點都代表了當前屏幕上所需要渲染的每一個元素,包含了這些元素渲染所需要的內(nèi)容。將Layer Tree拋給GPU線程,在GPU線程內(nèi)調(diào)用Skia去完成整個UI的渲染過程。Layer Tree中有PictureLayer和TextureLayer兩個比較重要的節(jié)點。PictureLayer主要負責屏幕圖片的渲染,F(xiàn)lutter內(nèi)部實現(xiàn)了一套圖片解碼邏輯,在IO線程將圖片讀取或者從網(wǎng)絡上拉取之后,通過解碼能夠在IO線程上加載出紋理,交給GPU線程將圖片渲染到屏幕上。但是由于音視頻場景下系統(tǒng)API太過繁多,業(yè)務場景過于復雜。Flutter沒有一套邏輯去實現(xiàn)跨平臺的音視頻組件,所以說Flutter提出了一種讓第三方開發(fā)者來實現(xiàn)音視頻組件的方式,而這些音視頻組件的視頻渲染出口,就是TextureLayer。

在整個Layer Tree渲染的過程中,TextureLayer的數(shù)據(jù)紋理需要由外部第三方開發(fā)者來指定,可以把視頻數(shù)據(jù)和播放器數(shù)據(jù)送到TextureLayer里,由Flutter將這些數(shù)據(jù)渲染出來。

TextureLayer渲染過程:首先判斷Layer是否已經(jīng)初始化,如果沒有就創(chuàng)建一個Texture,然后將Texture Attach到一個SufaceTexture上。

這個SufaceTexture是音視頻的native代碼可以獲取到的對象,通過這個對象創(chuàng)建的Suface,我們可以將視頻數(shù)據(jù)、攝像頭數(shù)據(jù)解碼放到Suface中,然后Flutter端通過監(jiān)聽SufaceTexture的數(shù)據(jù)更新就可以順利把剛才創(chuàng)建的數(shù)據(jù)更新到它的紋理中,然后再將紋理交給SKIA渲染到屏幕上。

然而我們?nèi)绻枰肍lutter實現(xiàn)美顏,濾鏡,人臉貼圖等等功能,就需要將視頻數(shù)據(jù)讀取出來,更新到紋理中,再將GPU紋理經(jīng)過美顏濾鏡處理后生成一個處理后的紋理。按Flutter提供的現(xiàn)有能力,必須先將紋理中的數(shù)據(jù)從GPU讀出到CPU中,生成Bitmap后再寫入Surface中,這樣在Flutter中才能順利的更新到視頻數(shù)據(jù),這樣做對系統(tǒng)性能的消耗很大。

通過對Flutter渲染過程分析,我們知道Flutter底層需要渲染的數(shù)據(jù)就是GPU紋理,而我們經(jīng)過美顏濾鏡處理完成以后的結(jié)果也是GPU紋理,如果可以將它直接交給Flutter渲染,那就可以避免GPU-CPU-GPU這樣的無用循環(huán)。這樣的方法是可行的,但是需要一個條件,就是OpenGL上下文共享。

OpenGL

在說上下文之前,得提到一個和上線文息息相關(guān)的概念:線程。

Flutter引擎啟動后會啟動四個線程:

第一個線程是UI線程,這是Flutter自己定義的UI線程,主要負責GPU發(fā)出的VSync信號時候用當前Dart編譯的機器碼和當前運行環(huán)境創(chuàng)建出Layer Tree。

還有就是IO線程和GPU線程。和大部分OpenGL處理解決方案中一樣,F(xiàn)lutter也采取一個線程責資源加載,一部分負責資源渲染這種思路。

兩個線程之間紋理共享有兩種方式。一種是EGLImage(IOS是 CVOpenGLESTextureCache)。一種是OpenGL Share Context。Flutter通過Share Context來實現(xiàn)紋理共享,將IO線程的Context和GPU線程的Context進行Share,放到同一個Share Group下面,這樣兩個線程下資源是互相可見可以共享的。

Platform線程是主線程,F(xiàn)lutter中有一個很奇怪的設(shè)定,GPU線程和主線程共用一個Context。并且在主線程也有很多OpenGL 操作。

這樣的設(shè)計會給音視頻開發(fā)帶來很多問題,后面會詳細說。

音視頻端美顏處理完成的OpenGL紋理能夠讓Flutter直接使用的條件就是Flutter的上下文需要和平臺音視頻相關(guān)的OpenGL上下文處在一個Share Group下面。

由于Flutter主線程的Context就是GPU的Context,所以在音視頻端主線程中有一些OpenGL操作的話,很有可能使Flutter整個OpenGL被破壞掉。所以需要將所有的OpenGL操作都限制在子線程中。

通過上述這兩個條件的處理,我們就可以在沒有增加GPU消耗的前提下實現(xiàn)美顏和濾鏡等等功能。

TPM

在經(jīng)過demo驗證之后,我們將這個方案應用到閑魚音視頻組件中,但改造過程中發(fā)現(xiàn)了一些問題。

上圖是攝像頭采集數(shù)據(jù)轉(zhuǎn)換為紋理的一段代碼,其中有兩個操作:首先是切進程,將后面的OpenGL操作都切到cameraQueue中。然后是設(shè)置一次上下文。然后這種限制條件或者說是潛規(guī)則往往在開發(fā)過程中容易被忽略的。而這個條件一旦忽略后果就是出現(xiàn)一些莫名其妙的詭異問題極難排查。因此我們就希望能抽象出一套框架,由框架本身實現(xiàn)線程的切換、上下文和模塊生命周期等的管理,開發(fā)者接入框架以后只需要安心實現(xiàn)自己的算法,而不需要關(guān)心這些潛規(guī)則還有其他一些重復的邏輯操作。

在引入Flutter之前閑魚的音視頻架構(gòu)與大部分音視頻邏輯一樣采用分層架構(gòu):

1:底層是一些獨立模塊

2:SDK層是對底層模塊的封裝

3:最上層是UI層。

引入Flutter之后,通過分析各個模塊的使用場景,我們可以得出一個假設(shè)或者說是抽象:音視頻應用在終端上可以歸納為視頻幀解碼之后視頻數(shù)據(jù)幀在各個模塊之間流動的過程,基于這種假設(shè)去做Flutter音視頻框架的抽象。

咸魚Flutter多媒體開源組件

整個Flutter音視頻框架抽象分為管線和數(shù)據(jù)的抽象、模塊的抽象、線程統(tǒng)一管理和上下文同一管理四部分。

管線,其實就是視頻幀流動的管道。數(shù)據(jù),音視頻中涉及到的數(shù)據(jù)包括紋理、Bit Map以及時間戳等。結(jié)合現(xiàn)有的應用場景我們定義了管線流通數(shù)據(jù)以Texture為主數(shù)據(jù),同時可以選擇性的添加Bit Map等作為輔助數(shù)據(jù)。這樣的數(shù)據(jù)定義方式,避免重復的創(chuàng)建和銷毀紋理帶來的性能開銷以及多線程訪問紋理帶來的一些問題。也滿足一些特殊模塊對特殊數(shù)據(jù)的需求。同時也設(shè)計了紋理池來管理管線中的紋理數(shù)據(jù)。

模塊:如果把管線和數(shù)據(jù)比喻成血管和血液,那框架音視頻的場景就可以比喻成器官,我們根據(jù)模塊所在管線的位置抽象出采集、處理和輸出三個基類。這三個基類里實現(xiàn)了剛才說的線程切換,上下文切換,格式轉(zhuǎn)換等等共同邏輯,各個功能模塊通過集成自這些基類,可以避免很多重復勞動。

線程:每一個模塊初始化的時候,初始化函數(shù)就會去線程管理的模塊去獲取自己的線程,線程管理模塊可以決定給初始化函數(shù)分配新的線程或者已經(jīng)分配過其他模塊的線程。

這樣有三個好處:

一是可以根據(jù)需要去決定一個線程可以掛載多少模塊,做到線程間的負載均衡。第二,多線程并發(fā)式能夠保證模塊內(nèi)的OpenGL操作是在當前線程內(nèi)而不會跑到主線程去,徹底避免Flutter的OpenGL 環(huán)境被破壞。第三,多線程并行可以充分利用CPU多核架構(gòu),提升處理速度。

從Flutter端修改Flutter引擎將Context取出后,根據(jù)Context創(chuàng)建上下文的統(tǒng)一管理模塊,每一個模塊在初始化的時候會獲取它的線程,獲取之后會調(diào)用上下文管理模塊獲取自己的上下文。這樣可以保證每一個模塊的上下文都是與Flutter的上下文進行Share的,每個模塊之間資源都是共享可見的,F(xiàn)lutter和音視頻native之間也是互相共享可見的。

基于上述框架如果要實現(xiàn)一個簡單的場景,比如畫面實時預覽和濾鏡處理功能,

1:需要選擇功能模塊,功能模塊包括攝像頭模塊、濾鏡處理模塊和Flutter畫面渲染模塊,

2:需要配置模塊參數(shù),比如采集分辨率、濾鏡參數(shù)和前后攝像頭設(shè)置等,

3:在創(chuàng)建視頻管線后使用已配置的參數(shù)創(chuàng)建模塊

4:最后管線搭載模塊,開啟管線就可以實現(xiàn)這樣簡單的功能。

上圖為整個功能實現(xiàn)的代碼和結(jié)構(gòu)圖。

結(jié)合上述音視頻框架,閑魚實現(xiàn)了Flutter多媒體開源組件。

組要包含四個基本組件分別是:

1:視頻圖像拍攝組件

2:播放器組件

3:視頻圖像編輯組件

4:相冊選擇組件

現(xiàn)在這些組件正在走內(nèi)部開源流程。預計9月份,相冊和播放器會實現(xiàn)開源。

后續(xù)展望和規(guī)劃

1:實現(xiàn)開頭所說的從底層SDK到UI的全鏈路的跨端開發(fā)。目前底層框架層和模塊層都是各個平臺各自實現(xiàn),反而是Flutter的UI端進行了跨平臺的統(tǒng)一,所以后續(xù)會將底層也按照音視頻常用做法把邏輯下沉到C++層,盡可能的實現(xiàn)全鏈路跨平臺。

2:第二部分內(nèi)容為開源共建,閑魚開源的內(nèi)容不僅包括拍攝、編輯組件,還包括了很多底層模塊,希望有開發(fā)者在基于Flutter開發(fā)音視頻應用時可以充分利用閑魚開源出的音視頻模塊能力,搭建APP框架,開發(fā)者只要去負責實現(xiàn)特殊需求模塊就可以,盡可能的減少重復勞動。

一些華麗優(yōu)美的句子

1. 誰撿走了我的玻璃鞋,尋找遺失的玻璃鞋.

2. 命里哊時鐘需哊 命里無時莫強求

3. 沒有誰對不起誰,只有誰不懂得珍惜誰.

4. 記憶零落的恨,像被刀子劃過叻的魚鱗,囿些還畱在身體仩,囿些是掉在叻水裏叻,講水一攪,囿幾片還會翻騰,閃爍,然而中間混著血絲

5. 我喜歡冬天,因為白晝短暫而黑夜漫長,這樣會有更多的時間來逃避

6.我的世界不允許你的消失,不管結(jié)局是否完美.

7. 愛情是一個精心設(shè)計的謊言

8.承諾常常很像蝴蝶,美麗的飛盤旋然后不見

9.依然習慣被愛的感覺,也許某天在喧嘩的城市中,你我擦肩而過,我會停住腳步,凝望著那個正在遠去的背影告訴自己,那個人…..我曾經(jīng)愛過.

10.為什么幸??偸遣良缍^,偶爾想你的時候….就讓….回憶來陪我.

11.愛情…在指縫間承諾 指縫….在愛情下交纏.

12. 我很愛你,從那天世界

完全屬你 愛埋藏在日記而我的世界 仍然屬于你

13. 我仍懷著志氣 愛原沒有限期

這夜仍舊要別離 無人望見 我輕吻那空氣

14. 掛在葉子上的雨滴

是天使的淚

我的心

如果它能為你帶來快樂

我情愿

15. 人總是喜歡解脫束縛,尋求另外一種新鮮刺激的生活。就像穿鞋,穿久了,光著腳走路,就會有一種全新的體驗。然而,光腳一旦遇上了玻璃碴,就容易受傷……

16. ……………………

愛情不應該是省略號

—— —— ——

愛情不應該是破折號

?。。。。。?!

愛情不應該是感嘆號

好象…… —— !??!

她就只能是一個問號

17. 我的腳步想去流浪,我的心卻想靠岸,我的影子想去飛翔,我的人還在地上,我的笑容想去偽裝,我的淚卻想投降。我這樣的人沒有你想象中堅強,如果你寂寞的胸膛是我依靠的地方,我將在那里生活一輩子.....

18. 周刊的封面彩照搶眼

敘述最新的荒誕笑話

中間添加幾多設(shè)計的對白

19. 如果你為著錯過夕陽而哭泣,那么你就要錯群星了

20. 人活著 總是要得罪一些人的 就要看那些人是否值得得罪

21. 我問上帝:怎樣才可以對悲傷的事情一邊笑一邊忘記?

上帝回答:把自己弄的瘋掉。(from:笑面人)

22. 心若改變,你的態(tài)度跟著改變;態(tài)度改變,你的習慣跟著改變;

習慣改變,你的性格跟著改變;性格改變,你的人生跟著改變。

在順境中感恩,在逆境中依舊心存喜樂,認真活在當下。

23. 玫瑰花安靜的盛開,紫羅蘭安靜的謝了。野草安靜的蔓延,一絲沉沒與壓抑,卻有品味。我沉默,不再離去……

24. 凋謝是真實的 盛開只是一種過去

25. 摘不到的星星,總是最亮的

溜掉的小魚,總是最美麗的

錯過的電影,總是最好看的

失去的情人,總是最懂我的

我是始終不明白,這究竟是什么道理

-------------------------------------

和她相比,他更像是一個貪玩的孩子,他沒有長大,還是躲在自己的城堡里玩耍,一旦要接近殘忍現(xiàn)實的世界,他選擇的面對方式就是逃避和沉默。于是,他會在她手足無措的夜晚體察不到她的崩潰,在她歇斯底里的哭泣里面無法體諒她的失控,她將裂開,而他選擇了一次又一次的躲避。

O 每次兩人分開,她總是一轉(zhuǎn)身就走掉,他幾乎懷疑她根本就是一個絕情的人。她似乎什么都可以放得開,她有時候又似乎非常感性,看電影會失聲哭起來。她拒絕給自己一個溫情懷抱,她不過是容易制造苦情氣氛的女子,有孽緣,又太靈性,這樣怎么會快樂起來呢。

O她忍不住發(fā)笑,她永遠有癡狂癥,以為自己是天使,而天國,哪里容忍她這般滿目瘡痍的女子作使者。

O 有的愛,一開始就注定帶來憂郁和創(chuàng)傷,硬要接受下來,必定是肝腸寸斷的結(jié)局。

O 寫作這碗飯,不是人人都能吃的,這是天賜的飯碗,不是靠辛苦努力就可以得到的。有辛苦沒有天賦,只能是吐血身亡并無建樹,有天賦沒有辛苦,又只能暗自蹉跎,最后被老天收回了去。

O 有那樣一種女子,是罕見的,與眾不同的,她們文藝而敏感,行為簡單卻思維深刻;她們也許不美,但是她們總能洋溢著耀眼光華,區(qū)別于眾俗之中。她們通常不會很快樂,她們有著突出的特質(zhì),也有重大的缺憾。她們不斷地行走紅塵,感受那些凡俗的傷感,夜里躲在天上哭泣,白天踏著淚變的露珠,可是她們還是那樣華麗。

O 她沒有真心,他們沒有靈魂,俗塵凡世一相逢,便注定要散落。

O 人世間勇敢的男人少到只能在小說里看到,而勇敢的女人卻比比皆是;吹起人間煙火的是男人,持續(xù)著的卻多是女人。不甘心不情愿,愛成殘缺,努力爭取,和命運抗爭,終究還是敵不過與人分享熱愛或者遭人臨時抽身的尷尬。

O 網(wǎng)絡成就了多少人的夢想,點開窗口就可以言愛,可是,誰的愛會蜿蜒著攜帶真心而來?

O 畢竟,生活是生活,不是無關(guān)痛癢的小說。小說永遠會在最關(guān)鍵的時刻止住,留給你無窮的遐思,生活則是枝葉相連的糾葛。

O 你的身上有一種咄咄逼人的氣質(zhì)。這樣的氣質(zhì)會令你喪失很多受寵愛的機會——因為很少會有人敢接近你。

O 很多人愛著,愛累了,愛成了無能,麻木地活著,卻少不了男歡女愛。愛無能著,身體的器官還在蓬勃著,于是,也就只能男歡女愛了。

O 沒有愛情,對于一個單身男人來說,未嘗不是一件幸福的事情。空心人不一定比多心人活得遜色,至少他們心情愉快,遠離煩憂。

O 她更容易被強勢的人所帶領(lǐng)和指引,這個傾向沒有人知道,面對她的人總是視她為脆弱或者天使,能恭敬她就恭敬她,能保護她就保護她。

O 她就如同一只軟體的寄生動物,而他正好是一株堅強的樹木,她慢慢找到了他,開始依附于他生存,慢慢慢慢,她的精神和他就融合在了一起。

O 有時候感情就是這么奇怪的一個東西,你拼命找尋的時候,它隱藏逃匿,你視它為不顧,它卻突然現(xiàn)身出來。

O 若有一天她找到了自己的真命天子,她一定迎上前去,淚流滿面地狠狠掐他的胳膊,直到掐得他痕跡斑斑。她會委屈地說,我找了你那么多年,你為什么現(xiàn)在才出現(xiàn)?

O 他一直沒有告訴她,撇去她的其他不談,只是她的樣子,就已經(jīng)如一個有魔力的咒語一樣地圍繞著他了,一旦出現(xiàn),全盤籠罩,他的生活里再也不能沒有她的痕跡。

O 原來這樣的轉(zhuǎn)變,不過是一個擁抱,或者一句話語。愛與不愛之間,只隔一線,先前的那些,都不過是勇敢的鋪墊

O 她絕望的筆下,那片廢墟一樣的空曠,是由他造成的。她不過是一個簡單的女人,希望這場無妄的愛能夠落地開花,而他,始終固守在他自己建造的城堡之中,步步為營,不敢前行。

O 再濃烈的感情,一旦決意斬斷,熄滅不過是一念之間。

O 時間不恰當,浪漫變成了拖累。

O 他幾乎要失控地伸手去拉她的手,請她不要那么快將歡樂給予他,而又將悲傷一并攜來。他遠沒有她想象中那樣堅強,他也不是能夠受得了傷害的。

O 她曾經(jīng)在沒有太陽的深夜里遇到他,被他的陰暗所吸引,而她終于是要浮出水面見到陽光的。那種暗晦的病態(tài)直接影響到了她,他們慢慢變成了一樣的瘦弱、病態(tài)、萎靡不振,像臺灣中生代導演作品里面的人物,每個人都在變態(tài)的邊緣茫然。有人覺得那很美,她不這樣認為。

O 不是全世界都像你那么好運,遇到夢中情人,現(xiàn)在滿大街上都是疤拉眼、禿子、羅圈腿和胖子——小雷那樣的胖子。他們一樣有尊嚴,也要生活,也會愛。

O 只有天真的人,才會說出心無城府的攻擊的話。她對于她的無理,一直是那樣認為的。

O 她緊緊地擁抱他,實物的觸摸能夠安慰空蕩的靈魂,此刻她唯有如此,才能夠慰藉到自己走失的靈魂。

O 如果她終于找到那個人,她見到他的時候,一定會掐他的胳膊,掐到他有傷痕,她會說,你怎么會這樣晚才出現(xiàn)。

O 她真不覺得插科打諢有什么可樂的,但是有千千萬萬的人,會那么專心地聽,那么會心地笑。開心,來得那么那么容易,為什么離她就那么遙遠。

O 已經(jīng)有多久,沒有這樣近地接觸人,看著他的眉眼,面對面說一些真摯的話。眼神是不會騙人的,表情亦是不會騙人的,原來這是真的。

O 女人沒有必要去跟男人拼智慧。男人們拼命積攢知識,有時候也是希望自己能在和平時代的女人眼里,成為英雄。

O 其實她不過就是一個心智脆弱的孩子,為什么她身邊的人都會不自覺地將她懸掛在高處,然后使出全身的防備去面對她。她一直需要的,不過是一個簡單又單純的擁抱。

O 幸福,在別人那里都是唾手可得的簡單,而在她,卻是上青天般的艱難。她努力找尋著,攀援著,它始終就是在空中悠閑地看著她,她掙扎,用歲月作為祭祀,荒廢了一年又一年,它始終是那樣的遙遠。即使只是一個手指的距離,也依然無法達到。

O 他就是一個為自己營造了一個夢想國的自卑男子,靠著空間的力量迷上了說謊的游戲,在這場謊言里,他是王子,他站在至高無上的位置享用著一個奇怪女子的愛和崇拜,他沉迷于其中,過一天便算一天。他蒙蔽了自己的雙眼,他以為永遠都可以這樣,做著美麗的夢,維持著他的枯燥乏味。

O 她在這些年飄蕩的歲月里,已經(jīng)逃開了許多世俗的規(guī)則,她如一個游牧民族一樣生活著,誰都無法將她的靈魂掌握在手中。

O 在愛情面前,肥胖顯得那么不合時宜,它令一切的美好破滅于眼前,那個心高氣傲的男人,在愛情里委曲求全,也許他會在無人的時候偷偷哭泣。不過是為了取得愛一個女人的權(quán)利,令自己委屈至此。

O 曾經(jīng)她以為,他和她的糾纏可以一直持續(xù)下去,持續(xù)到兩個人都花白了頭發(fā),都未能有什么結(jié)果。而現(xiàn)在,她細數(shù)了一下,不過才只有一年的光景。一年,三百多個日夜,她已然對他無動于衷了。

O 她是一個多么弱小的動物,只要一個堅定的承諾就能夠給她無比的決心,但是他吝于給予。小男人通常都會犯的毛病,太喜歡斤斤計較,太在意收入支出的平衡,太不珍惜難得的真情,他怎么能盛載她那樣磅礴的熱情呢?她如同一片汪洋,而他不過是一葉小舟,單薄搖曳,海上輕風便可將之吹翻,更何況是這樣猛烈的風暴。那些壯烈,只能是給自己傷口,給自己難堪的。其實一切都可以圓滿地解釋過去:他不過是一個凡人,她卻要他做著天上人間的事跡,她何必這樣地為難于他呢?

O 他們不該是平行線上勉為其難的交織,他們只能順其自然地互相對視,才能成就欣賞和憧憬。

O 輕松并不難,一個念頭就可以解開的扣,很多人沉浸在情緒里,如她一樣難以自拔,那或者真的需要一種拯救或者祈望一份神奇。

O 孤獨的女人往往缺乏純粹的信心,看上去的傲慢和涼薄只不過是類似于一種顏色的保護,使得自己與外界有一種心安理得的隔斷,這種隔斷,會帶來無比安全。而這些外界主動涌過來的愛慕、欣賞或者喜愛,無疑是顏色之外與她的肌膚呈現(xiàn)友好的信號,或者說可以搭一座橋,令她慢慢放松警惕。

O 我想把你改造成一個俗氣的姑娘,整天在太陽底下沒心沒肺地笑,曬得黑壯健康的,翻臉也不是不可以,有點煙火氣息??墒沁@樣的想法一產(chǎn)生,我就會自責得不行,我怎么可以把天使拽到人間。

O 想到這樣的情景許明媚的心都碎了。似乎心里爬出來了幾百只小蟲子,一起在嚙噬著她的骨頭,那種酸澀難當?shù)母杏X她第一次感受。嫉妒嗎?是嫉妒吧。嫉妒原來是這樣折磨人的一種可怕東西。

O 她總覺得婚姻是距離她太遙遠的一種相處形式,那包含著世俗的責任和繁瑣。而她所盼望的生活,不過就是兩個人簡單地在一起,好像在一起,就意味著天長地久,這對于她來說,就是能夠延展的所有想象。

O 你和我是不一樣的,你永遠擁有藍天白云,而我只有一個狹小的空間,容納自己已經(jīng)不算輕松。

O 所謂華麗,非是容顏上的奪目,實在是一些不可解說的潛質(zhì)透過平常的肌膚所散發(fā)出來的奇異光芒,她如此華麗,她如此不堪,她如此年輕。

O 這些穿梭在她生命里,與她的情感密切相關(guān)的人,歲月過后,已經(jīng)變成了某種曖昧又疏遠的符號,類似于她生命中的圖騰,每個圖騰都代表著她一段特殊的歲月。她也許不再對他們有任何鮮活的情感,但是她一輩子都不會忘記他們。

O 他手里捏著他們之間的線,他如拂塵一般的就將那根線給掃斷了,她沒有來得及做任何的準備便一個趔趄栽倒下去,這一個跟頭的狼狽她簡直無從想象,似乎是將她二十七年來所有積攢的信念全部都跌損,甚至連爬起來的力氣都沒有。

O一座龐大的城,將他和她之間,隔到了山水不重逢的絕情。

《同學少年不言情》

O 開始寫日記,就像對著他說話,一句一句,可以頑皮,可以真摯,可以耍賴,可以勇敢。如果能夠在一起,如果可以在一起,可是,那簡直不啻于對天堂的奢望。我一筆一筆地描述著夢想天堂的樣子,那里有風吹過,有鳥兒飛翔,還有迎風矗立的蘇格,和身邊灰灰暗暗的我——我又忍不住地憂傷,我只能是灰灰土土的樣子,我該有怎么樣的明媚,才可以襯得上蘇格這個憂傷的太陽。

《光年里這樣一個黎明》

O 記憶可以不在,與記憶有關(guān)的歌卻一直存在。就這樣一代一代地,從流行變?yōu)闉E俗,再變?yōu)榻?jīng)典,從不同人的嘴里唱出,勾引著那些陳年舊事,和曾經(jīng)溫暖過你生命的某個片刻然后謝幕消失的那些人一樣,起著懷舊的作用。

O 我第一次明白了情敵的滋味,她是我的情敵,而我沒有勇氣說起我的愛,我也是愛他的,可是,在她的氣焰下,我突然覺得自己是如此的卑微,她如一個勝券在握的女皇,而我不過是那個尚未蛻變的灰姑娘,我們同時跌入王子的倒影里。她既霸道又光明磊落,而我,卻如此畏畏縮縮,戰(zhàn)戰(zhàn)兢兢。

O 那樣的快樂。仿佛這一生,惟一不求回報,惟一卑微到只要喜歡就可以了,也就只有對他才會這樣。

《風中的卡布其諾》

O 記住一個人,只需要一個輕而易舉的理由。

比如一個特別的眼神,比如某個特別的時刻,比如一杯咖啡。

《愛恨分七年》

O 在年輕的時候,誰不曾有過甜美的夢想,不過我這個夢,做得有點長久,它就這樣地,星星點點地,就燒燎了原。

O 他的眼神寂寞而淡薄,充滿了異鄉(xiāng)人的寡淡,而就是他那樣特別的樣子,將感情的潮水,理直氣壯地推向了那個年代整日做夢的我,我手腳并用都無抵抗之力,并且沾沾自喜著。因為,我終于在最好的年紀,做了一個流浪歌手的情人。

O 有一種人,當你和他遭遇的時候,你們的關(guān)系就只能是一種,要么是愛情,要么是仇恨,永遠無法平靜地做什么知己或者是朋友。

O 因為無比清醒,所以竟然沒有怎么悲傷,我似一個早已知道死期的囚犯,鎮(zhèn)定地等待著生命的終結(jié),從容得連自己都驚詫。

O 凌晨的北京有一種孤獨的華麗,華燈燦爛,行人卻寥落,如此一座空泛的城,類似于遙遠的西安,一樣的孤獨,一樣的華麗,一樣的空泛。每個城市都在上演著類似的悲歡,都在流行著類似的音樂,都在穿著類似的顏色,可是我和元浩離的故事,看上去是那么的辛酸和悲苦,似乎一直就是灰色的主題,褐色的旋律,黑色的結(jié)局,這一場邊緣愛戀永遠見不得陽光,永遠無法正常地盛開,我們只能在一年一年的蹉跎里,漸漸變老。

《寂如流年》

O 這樣的男人類似于一顆浸毒的搖丸,外表光鮮無比,一旦接近,就會上癮,最后是絕決地毀滅。

《我在城外,想起你來》

O 真正愛一個人,不是風平浪靜時候的甜言蜜語,而是風浪來臨時的一雙手。如此而已。

O 在她和他見面的第二天,她便知道他從此不再是她的夢想了。所有的之前的一切臆想,不過都是順著他甜美的語言營造起來的一個海市蜃樓而已。霧氣散盡之后,實則空無一物。

O 但是她對他,是無比懶惰的眷戀和無比習慣的依賴。她習慣于將自己的精神掛在他身上,然后可以給自己一個虛晃的假象,然后她可以神游,可以搖晃,可以飛翔。她是一株無根的野草,惟有掛在一顆樹上,才可以做搖曳動人狀,否則一陣風,她便會吹無蹤?;蛘呔暨@棵樹并不是她理想中的樹,但是恰好就是在那樣的時刻,他以樹的姿態(tài)出現(xiàn),而她又正好準備飄搖,于是她繞上了他。

O 愛作前提,而他什么都不明白,他只是這樣地,配合著她,做一場愛的配角。他心安理得地享受著她的給予,他從來都是享受著她的,卻沒有給她任何。

《曖昧》

O 原來曖昧關(guān)系,只可以溫暖你的孤單,給不了任何安全。

《天使只在夜里哭》

O 我愿意為他,舍棄永久不死的生命,拋掉尊貴的女神身份,變做一個掌中的精靈,只等他來,用他的愛,將我拯救。

O 累的時候,我會坐在一片疲倦的云朵上,俯瞰世界,總有一些角落里,發(fā)生各種各樣的故事,你負了我,我欠了你,真累。

《恕我疏離》

O 原來有這樣的一種女人,她端坐微笑,便能光芒四射,她只管沉默,也足以艷壓群芳。任何女人看到她,都會生出愧疚,為自己粗陋的容顏而顫抖。誰有勇氣和她對視,誰就會變成灰塵里面的一顆沙礫,連呼吸都困難。

O 愛神,我不要愛情,愛情是靠不住的東西,如果我貪戀愛時的甜美,終究會被愛結(jié)束時候的利刃刺傷,愛神,你明知道我是一個多么軟弱的女子,我不過是一個軟弱的女子,如果能夠預知道最后的傷害,那么不如狠心地躲開。

O 我變成一棵樹,長在愛我的人的身旁,每天可以看到我心愛的人經(jīng)過,卻不能靠近,我成為永恒的處子,永不能嘗人神皆迷的愛情,這多么好,哈哈哈哈。笑著,就流出了眼淚。

-----------------------------------------

”滄海月明珠有淚,藍田日暖玉生煙”

衣帶漸寬終不悔,為伊消得人憔悴

惆悵東南一枝雪

人生能得幾清明

流水落花紅,閑愁萬種

當前文章:咸魚flutter,咸魚他想開了
路徑分享:http://jinyejixie.com/article2/dssscic.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、搜索引擎優(yōu)化、關(guān)鍵詞優(yōu)化網(wǎng)站設(shè)計、App開發(fā)、面包屑導航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化
临沭县| 东辽县| 滨州市| 郎溪县| 星座| 丹阳市| 衢州市| 淅川县| 开封县| 江西省| 蒙城县| 麦盖提县| 丹阳市| 类乌齐县| 石渠县| 潮州市| 宿松县| 万州区| 盐边县| 新宾| 名山县| 辽阳市| 双牌县| 宝坻区| 襄垣县| 贵溪市| 团风县| 望城县| 郧西县| 宜昌市| 东明县| 灌云县| 漠河县| 伊吾县| 嘉黎县| 尉氏县| 嘉荫县| 剑川县| 邵武市| 台中市| 新建县|