2023 年第一彈滨彻, Flutter 3.7 發(fā)布啦藕届,快來(lái)看看有什么新特性

2023 年新春之際, Flutter 喜提了 3.7 的大版本更新亭饵,在 Flutter 3.7 中主要有改進(jìn)框架的性能休偶,增加一些很棒的新功能,例如:創(chuàng)建自定義菜單欄辜羊、級(jí)聯(lián)菜單踏兜、更好地支持國(guó)際化的工具、新的調(diào)試工具等等八秃。

另外 Flutter 3.7 還改進(jìn)了 Global selection碱妆、使用 Impeller提升渲染能力、DevTools 等功能喜德,以及一如既往的性能優(yōu)化

PS :3.7 版本包含大量垮媒,大量舍悯,大量更新內(nèi)容航棱,感覺(jué)離 4.0 不遠(yuǎn)了。

提升 Material 3 支持

隨著以下 Widget 的遷移萌衬,Material 3 支持在 3.7 中得到了極大提升:

  • Badge
  • BottomAppBar
  • FilledFilled Tonal 按鍵
  • SegmentedButton
  • Checkbox
  • Divider
  • Menus
  • DropdownMenu
  • DrawerNavigationDrawer
  • ProgressIndicator
  • Radio 按鍵
  • Slider
  • SnackBar
  • TabBar
  • TextFieldsInputDecorator
  • Banner

要使用這些新功能只需打開(kāi) ThemeDatauseMaterial3標(biāo)志即可饮醇。

要充分利用 M3 的特性支持,還需要完整的 M3 配色方案秕豫,可以使用新的 theme builder 工具朴艰,或者使用構(gòu)造函數(shù)的 colorSchemeSeed 參數(shù)生成一個(gè)ThemeData

MaterialApp ( 
  theme : ThemeData ( 
    useMaterial3 : true, 
    colorSchemeSeed : Colors.green, 
  ), 
  // …
 );

使用這些組件,可以查看展示所有新 M3 功能的 interactive demo

菜單欄和級(jí)聯(lián)菜單

Flutter 現(xiàn)在可以創(chuàng)建菜單欄和級(jí)聯(lián) context 菜單混移。

對(duì)于 macOS 可以使用 PlatformMenuBar 創(chuàng)建一個(gè)菜單欄祠墅,它定義了由 macOS 而不是 Flutter 渲染的原生菜單欄支持

而且歌径,對(duì)于所有平臺(tái)可以定義一個(gè) Material Design menu 毁嗦,它提供級(jí)聯(lián)菜單欄 ( MenuBar) 或由用戶(hù)界面觸發(fā)的獨(dú)立級(jí)聯(lián)菜單( MenuAnchor) 。

這些菜單可完全自主定制回铛,菜單項(xiàng)可以是自定義 Widget狗准,或者是使用新的菜單項(xiàng) Widget ( MenuItemButton, SubmenuButton)。

Impeller 預(yù)覽

這里很高興地宣布新的 Impeller 渲染引擎 已經(jīng)可以在 Stable Channel 上的 iOS 進(jìn)行預(yù)覽茵肃。

Flutter 團(tuán)隊(duì)相信 Impeller 的性能將達(dá)到或超過(guò)大多數(shù)應(yīng)用的 Skia 渲染器腔长,并且在保真度方面,Impeller 實(shí)現(xiàn)幾乎覆蓋了少數(shù)極端下的使用場(chǎng)景验残。

未來(lái)在即將發(fā)布的穩(wěn)定版本中可能會(huì)讓 Impeller 成為 iOS 上的默認(rèn)渲染器捞附,如果有任何問(wèn)題,歡迎在 GitHub 的 Impeller Feedback 上提交反饋胚膊。

雖然目前期待的結(jié)果是 iOS 上的 Impeller 可以滿(mǎn)足幾乎所有現(xiàn)有 Flutter 應(yīng)用的渲染需求故俐,但 API 覆蓋率仍然存在一些差距:

Flutter wiki 上列出了少量剩余的未覆蓋情況,用戶(hù)可能還會(huì)注意到 Skia 和 Impeller 之間在渲染中的細(xì)微視覺(jué)上存在差異紊婉,而這些細(xì)微差別可能會(huì)導(dǎo)致錯(cuò)誤药版,所以如果有任何問(wèn)題,請(qǐng)不要猶豫喻犁,歡迎在 Github 提出問(wèn)題槽片。

社區(qū)的貢獻(xiàn)大大加快了 Impeller 上的進(jìn)展。特別是 GitHub 用戶(hù) ColdPaleLight肢础、guoguo338还栓、JsouLiangmagicianA 為該版本貢獻(xiàn)了 291 個(gè) Impeller 相關(guān)補(bǔ)丁中的 37 個(gè)(>12%)。

另外 Flutter 將繼續(xù)在 Impeller 的 Vulkan 上繼續(xù)推進(jìn)支持(在舊設(shè)備上回退到 OpenGL)传轰,但 Android 上的 Impeller 目前還未準(zhǔn)備好剩盒,Android 上的支持正在積極開(kāi)發(fā)中,希望可以在未來(lái)的版本中分享更多關(guān)于它的信息——以及未來(lái)更多關(guān)于 desktop 和 web 上的支持

在 GitHub 上的 Impeller 項(xiàng)目板上 可以關(guān)注進(jìn)展慨蛙。

iOS 版本驗(yàn)證

當(dāng)開(kāi)發(fā)者發(fā)布 iOS 應(yīng)用時(shí)辽聊, checklist of settings to update 可確保開(kāi)發(fā)者的應(yīng)用已準(zhǔn)備好提交到 App Store纪挎。

flutter build ipa 命令現(xiàn)在會(huì)驗(yàn)證其中一些設(shè)置,并在發(fā)布前通知開(kāi)發(fā)者是否需要對(duì)應(yīng)用進(jìn)行更改跟匆。

開(kāi)發(fā)工具更新

在 3.7 版本中异袄,有幾個(gè)關(guān)于新的工具和功能方面的改進(jìn)。

DevTools 內(nèi)存調(diào)試工具新增了三個(gè)功能選項(xiàng)卡玛臂,Profile烤蜕、**Trace **和 Diff,它們支持所有以前支持的內(nèi)存調(diào)試功能迹冤,并添加了更多功能以方便調(diào)試讽营。

新功能包括:

  • 按 class 和 memory 類(lèi)型分析應(yīng)用的當(dāng)前內(nèi)存分配
  • 調(diào)查哪些代碼路徑在運(yùn)行時(shí)為一組 class 分配內(nèi)存
  • 差異內(nèi)存快照以了解兩個(gè)時(shí)間點(diǎn)之間的內(nèi)存管理

所有這些新的內(nèi)存功能都記錄在 docs.flutter.dev

Performance 頁(yè)面還有一些值得注意的新功能,性能頁(yè)面頂部的Frame Analysis 提供了對(duì)所選 Flutter frame 的分析:

可能包括有關(guān)跟蹤到的 frame 的 expensive 操作的建議叁巨,或有關(guān)在 Flutter 框架中檢測(cè)到的 expensive 操作的警告斑匪。

這些只是 3.7 里 DevTools 的幾個(gè)亮點(diǎn), 3.7 版本還包含幾個(gè)錯(cuò)誤修復(fù)和更多功能改進(jìn)锋勺,包括 Inspector蚀瘸、Network profiler 和 CPU profiler 的一些重要錯(cuò)誤修復(fù)。

如需更深入的更新列表庶橱,請(qǐng)查看 Flutter 3.7 中 DevTools 更改的發(fā)行說(shuō)明贮勃。

自定義 Context 菜單

3.7 開(kāi)始可以在 Flutter 應(yīng)用的任何位置創(chuàng)建自定義 Context 菜單,還可以使用它們來(lái)自定義內(nèi)置的 Context 菜單苏章。

例如寂嘉,開(kāi)發(fā)者可以將 “發(fā)送電子郵件” 按鈕添加到默認(rèn)文本選擇工具欄,當(dāng)用戶(hù)選擇電子郵件地址 (code) 時(shí)枫绅,該工具欄就會(huì)顯示泉孩。

通過(guò) contextMenuBuilder 參數(shù),該參數(shù)已添加到默認(rèn)情況下顯示 Context 菜單的 Widget并淋,例如 TextField寓搬。

現(xiàn)在開(kāi)發(fā)者可以從 contextMenuBuilder 返回任何想要的 Widget,包括修改默認(rèn)的平臺(tái)自適應(yīng)的 Context 菜單县耽。

這個(gè)新功能也適用于文本選擇之外句喷,例如創(chuàng)建一個(gè) Image,然后在右鍵單擊或長(zhǎng)按時(shí)顯示 “Save” 按鈕(code)兔毙,通過(guò) ContextMenuController 在應(yīng)用的任何位置顯示當(dāng)前平臺(tái)的默認(rèn) Context 菜單或自定義菜單唾琼。

更多可見(jiàn) Flutter Demo context_menus中的全套示例。

CupertinoListSection 和 CupertinoListTile 小部件

Cupertino 新增了兩個(gè)新的 Widget澎剥,CupertinoListSectionCupertinoListTile锡溯,用于顯示 iOS 風(fēng)格的可滾動(dòng)小部件列表。

它們是Material ListViewListTile 的 Cupertino 版本。

滾動(dòng)改進(jìn)

3.7 版本帶來(lái)了多項(xiàng) 滾動(dòng)更新

  • 觸控板交互改進(jìn)
  • 新的 Widget(如 ScrollbarsDraggableScrollableSheet
  • 滾動(dòng) Context 文本選擇的改進(jìn)處理

值得注意的是祭饭, MacOS 應(yīng)用現(xiàn)在將通過(guò)添加新的滾動(dòng) physics 來(lái)體驗(yàn)更高的保真度以匹配桌面平臺(tái)涌乳。

另外還有新的 AnimatedGridSliverAnimatedGrid 動(dòng)畫(huà)。

最后甜癞,本次還修復(fù)了幾個(gè)滾動(dòng) Widget 的構(gòu)造函數(shù)中的問(wèn)題,例如ListView

在 Flutter 框架的 NNBD 遷移過(guò)程中宛乃,原本 itemBuilder 允許用戶(hù)按需提供 widgets 類(lèi)型悠咱,但是在遷移到 IndexedWidgetBuilder 時(shí)不允許用戶(hù)返回 null。

這意味著 itemBuilder 不能再返回 null征炼,而本次跟新該設(shè)定已經(jīng)通過(guò) NullableIndexedWidgetBuilder 修復(fù)析既。

國(guó)際化工具和文檔

國(guó)際化支持已經(jīng)全面改進(jìn),3.7 版本通過(guò)完全重寫(xiě)了 gen-l10n 工具來(lái)實(shí)現(xiàn)支持:

  • 描述性的語(yǔ)法錯(cuò)誤
  • 涉及嵌套/多個(gè)復(fù)數(shù)谆奥、選擇和占位符的復(fù)雜消息

有關(guān)更多信息眼坏,可參閱更新的 國(guó)際化 Flutter 應(yīng)用頁(yè)面。

全局選擇改進(jìn)

SelectionArea 現(xiàn)在支持鍵盤(pán)選擇酸些,開(kāi)發(fā)者可以使用鍵盤(pán)快捷鍵擴(kuò)展現(xiàn)有選擇宰译,例如 shift+right

后臺(tái) isolates

3.7 開(kāi)始 Platform Channels 可以從任何 Isolate invoked 魄懂, 以前用戶(hù)只能從 Flutter 提供的主 Isolate 調(diào)用平臺(tái)通道沿侈,而現(xiàn)在 PluginsAdd-to-app 能更好地使用 Isolate 和主機(jī)平臺(tái)代碼進(jìn)行交互。

有關(guān)更多信息市栗,請(qǐng)查看在 flutter.dev 上的 platform-specific codeIntroducing background isolate channels缀拭。

文本放大鏡

3.7 開(kāi)始在 Android 和 iOS 上選擇文本時(shí)出現(xiàn)的放大鏡。

對(duì)于所有帶有文本選擇的應(yīng)用填帽,這是開(kāi)箱即用的能力蛛淋,但如果你想禁用或自定義它,請(qǐng)參閱 magnifierConfiguration 屬性篡腌。

插件的快速遷移

由于 Apple 現(xiàn)在專(zhuān)注于使用 Swift 作為他們的 APIs 褐荷,我們希望開(kāi)發(fā)參考資料以幫助 Flutter 插件開(kāi)發(fā)人員使用 Swift 遷移或創(chuàng)建新插件。

quick_actions 插件已從 Objective-C 遷移到 Swift哀蘑,可用作最佳實(shí)踐的演示诚卸。如果有興趣成為幫助我們遷移插件的一員,請(qǐng)參閱wiki的 Swift 遷移部分绘迁。

適用于 iOS 開(kāi)發(fā)人員的資源合溺,我們?yōu)?iOS 開(kāi)發(fā)者發(fā)布了一些新資源,包括:

Bitcode deprecation

從 Xcode 14 開(kāi)始缀台,watchOS 和 tvOS 應(yīng)用不再需要 bitcode棠赛,App Store 也不再接受來(lái)自 Xcode 14 的 bitcode 提交。

因此,F(xiàn)lutter 已刪除對(duì) bitcode 的支持睛约。

默認(rèn)情況下鼎俘,F(xiàn)lutter 應(yīng)用不啟用位碼,我們預(yù)計(jì)這不會(huì)影響許多開(kāi)發(fā)人員辩涝。

但是如果你在 Xcode 項(xiàng)目中手動(dòng)啟用了 bitcode贸伐,請(qǐng)?jiān)谏?jí)到 Xcode 14 后立即禁用它。

你可以通過(guò)打開(kāi) ios/Runner.xcworkspace 并將 Enable Bitcode 設(shè)置為 No 來(lái)實(shí)現(xiàn)怔揩,Add-to-app 的開(kāi)發(fā)人員可以在宿主 Xcode 項(xiàng)目中禁用它捉邢。

iOS PlatformView BackdropFilter

我們添加了在有 blurred 效果的 Flutter Widget 下方呈現(xiàn)時(shí)使原生 iOS 視圖模糊的功能,并且 UiKitView 現(xiàn)在可以包裝在 BackdropFilter商膊。

有關(guān)詳細(xì)信息伏伐,請(qǐng)參考 iOS PlatformView BackdropFilter 設(shè)計(jì)文檔。

內(nèi)存管理

3.7 版本對(duì)內(nèi)存管理進(jìn)行了一些改進(jìn)晕拆,具體有:

  • 減少垃圾收集暫停導(dǎo)致的卡頓
  • 由于分配速度和后臺(tái) GC 線程而降低 CPU 利用率
  • 減少內(nèi)存占用

作為一個(gè)例子藐翎,F(xiàn)lutter 擴(kuò)展了現(xiàn)有的手動(dòng)釋放支持某些 dart:ui 對(duì)象。

以前实幕,Native 資源由 Flutter 引擎持有吝镣,直到 Dart VM 垃圾回收 Dart 對(duì)象。

通過(guò)對(duì)用戶(hù)應(yīng)用的分析和我們自己的基準(zhǔn)測(cè)試昆庇,我們確定該策略不足以避免不合時(shí)宜的 GC 和過(guò)度使用內(nèi)存赤惊。

因此,在此版本中凰锡,F(xiàn)lutter 引擎添加了顯式釋放用于 Vertices 未舟、ParagraphImageShader 對(duì)象持有的原生資源的 API

在遷移到的 Flutter 框架基準(zhǔn)測(cè)試中掂为,這些改進(jìn)將 90% 的幀構(gòu)建時(shí)間減少了 30% 以上裕膀,最終用戶(hù)將體驗(yàn)到更流暢的動(dòng)畫(huà)和更少的卡頓。

此外勇哗,F(xiàn)lutter 引擎不再將 GPU 圖像的大小注冊(cè)到 Dart VM昼扛,這些圖像在不再需要時(shí)會(huì)由框架手動(dòng)釋放。

沿著類(lèi)似的思路欲诺,現(xiàn)在 Flutter 引擎的策略是僅向 Dart VM 報(bào)告支持 dart:ui 的 Dart 對(duì)象部分的 Native 的 shallow size 抄谐。

在基準(zhǔn)測(cè)試中,本次更改消除了在 Widget 創(chuàng)建 GPU 駐留圖像時(shí)構(gòu)建幀的同步 GC 扰法。

在此版本中蛹含,F(xiàn)lutter Engine 還更好地利用了有關(guān) Flutter 應(yīng)用狀態(tài)的信息來(lái)動(dòng)態(tài)更新 Dart VM。

Flutter 現(xiàn)在使用 Dart VM 的 RAIL Style API 在路由轉(zhuǎn)換動(dòng)畫(huà)期間進(jìn)入 低延遲模式塞颁。

在低延遲模式下浦箱,Dart VM 的內(nèi)存分配器會(huì)傾向堆增長(zhǎng)而不是垃圾收集吸耿,以避免因 GC 暫停而中斷過(guò)渡動(dòng)畫(huà)。

雖然類(lèi)似更改不會(huì)帶來(lái)任何顯著的性能改進(jìn)酷窥,但 Flutter 團(tuán)隊(duì)計(jì)劃在未來(lái)的版本中擴(kuò)展此模型的使用咽安,以進(jìn)一步消除不合時(shí)宜的 GC 暫停。

此外蓬推,本次還 修復(fù)了 Flutter 引擎空閑時(shí)通知 Dart VM 的 邏輯錯(cuò)誤妆棒,修復(fù)這些錯(cuò)誤可以防止與 GC 相關(guān)的卡頓。

最后沸伏,對(duì)于 add-to-app 的 Flutter 應(yīng)用募逞,當(dāng) Flutter 視圖不再顯示時(shí) Flutter 會(huì)通知 Dart VM 引擎,當(dāng)沒(méi)有 Flutter 視圖可見(jiàn)時(shí)馋评,Dart VM 為與視圖關(guān)聯(lián)的對(duì)象觸發(fā) GC ,此更改可以減少了 Flutter 的內(nèi)存占用刺啦。

停用 macOS 10.11 到 10.13

Flutter 不再支持 macOS 10.11 和 10.12 版本留特,3.7 版本發(fā)布后,也取消對(duì) 10.13 的支持玛瘸,這可以并將幫助團(tuán)隊(duì)大大簡(jiǎn)化代碼庫(kù)蜕青。

這也意味著在 3.7 版本及以后版本中針對(duì)穩(wěn)定的 Flutter SDK 構(gòu)建的應(yīng)用將不再適用于這些版本,并且 Flutter 支持的最低 macOS 版本增加到 10.14 Mojave糊渊。

因此右核,由于 Flutter 支持的所有 iOS 和 macOS 版本都包含 Metal 支持,OpenGL 后端已從 iOS 和 macOS 嵌入器中刪除渺绒,刪除這些后贺喝,F(xiàn)lutter 引擎的壓縮大小減少了大約 100KB绎巨。

toImageSync

3.7 版本在 dart:ui添加了 Picture.toImageSyncScene.toImageSync 方法瞻想。

類(lèi)似于異步 Picture.toImage,從 Picture 轉(zhuǎn)化為 Image 時(shí)會(huì)從 Scene.toImage.Picture.toImageSync 同步返回一個(gè)句柄谋逻,并在后臺(tái)異步進(jìn)行 Image 光柵化殷绍。

當(dāng) GPU 上下文可用時(shí)染苛,圖像將保持為 GPU 常駐狀態(tài),這意味著會(huì)比 toImage 具有更快的渲染速度(生成的圖像也可以保留在 GPU 中主到,但這種優(yōu)化尚未在該場(chǎng)景中實(shí)現(xiàn)茶行。)

新的toImageSyncAPI 支持用例,例如:

  • 快速實(shí)現(xiàn)光柵化成本高昂的圖片登钥,以便在多個(gè)幀中重復(fù)使用畔师。
  • 對(duì)圖片應(yīng)用多通道濾鏡。
  • 應(yīng)用自定義著色器牧牢。

例如茉唉,F(xiàn)lutter 框架 現(xiàn)在使用該 API 來(lái)提高 Android 上頁(yè)面轉(zhuǎn)換的性能固蛾,這幾乎將幀光柵化時(shí)間減半,減少卡頓度陆,并允許動(dòng)畫(huà)在支持這些刷新率的設(shè)備上達(dá)到 90/120fps艾凯。

自定義 shader 改進(jìn)

3.7 版本包含了對(duì) Flutter 對(duì)自定義片段著色器支持的大量改進(jìn)。

Flutter SDK 現(xiàn)在包含一個(gè)著色器編譯器懂傀,可將 pubspec.yaml 文件中列出的 GLSL 著色器編譯為目標(biāo)平臺(tái)的正確特定格式趾诗。

此外,自定義著色器現(xiàn)在可以熱加載蹬蚁,iOS 上的 Skia 和 Impeller 后端現(xiàn)在也支持自定義著色器恃泪。

更多可見(jiàn) docs.flutter.dev 上編寫(xiě)和使用自定義片段著色器文檔,以及 pub.dev 上的 flutter_shaders 包犀斋。

字體熱重載

以前向 pubspec.yaml 文件添加新字體需要重新運(yùn)行應(yīng)用才能看到它們贝乎,這個(gè)行為這與其他可以熱加載的 asset 不同。

現(xiàn)在叽粹,對(duì)字體清單的更改(包括添加新字體)可以熱加載到應(yīng)用中览效。

減少 iOS 設(shè)備上的動(dòng)畫(huà)卡頓

感謝 luckysmg 的開(kāi)源貢獻(xiàn)改進(jìn)減少了 iOS 上的動(dòng)畫(huà)卡頓,特別是手勢(shì)期間在主線程上添加虛擬 CADisplayLink 對(duì)象虫几,現(xiàn)在會(huì)強(qiáng)制以最大刷新率進(jìn)行刷新锤灿。

此外,鍵盤(pán)動(dòng)畫(huà)現(xiàn)在將刷新率設(shè)置為 CADisplayLink 辆脸,與 Flutter 引擎動(dòng)畫(huà)使用的刷新率相同但校。

由于這些變化,用戶(hù)應(yīng)該注意到 120Hz iOS 設(shè)備上的動(dòng)畫(huà)更加一致流暢啡氢。

最后個(gè)人感想

以上就是來(lái)自 Flutter 團(tuán)隊(duì)關(guān)于 Flutter 3.7 的主要更新內(nèi)容状囱,可以看到本次更新內(nèi)容相當(dāng)豐富:

  • 最顯眼的莫過(guò)于 Impeller 在 iOS 可以預(yù)覽,性能提升未來(lái)可期
  • 關(guān)于菜單相關(guān)的更新倘是,也極大豐富了 Flutter 在編輯和本次選擇中的疲弱態(tài)勢(shì)
  • 全局選擇的改進(jìn)和文本放大鏡也進(jìn)一步完善了 Flutter 文本操作的生態(tài)
  • 性能浪箭、內(nèi)存優(yōu)化老生常談,特別是 iOS 上的優(yōu)化
  • 開(kāi)發(fā)工具進(jìn)一步提升

當(dāng)然本次大版本更新設(shè)計(jì)的內(nèi)容范圍很廣辨绊,可以預(yù)見(jiàn)會(huì)有各式各樣的坑在等大家奶栖,特別本次更新很多涉及底層 Framework 部分,所以按照慣例门坷,等三個(gè)小版本會(huì)更穩(wěn)宣鄙。

作者:戀貓de小郭
鏈接:https://juejin.cn/post/7192468840016511034

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市默蚌,隨后出現(xiàn)的幾起案子冻晤,更是在濱河造成了極大的恐慌,老刑警劉巖绸吸,帶你破解...
    沈念sama閱讀 212,332評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件鼻弧,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡攘轩,警方通過(guò)查閱死者的電腦和手機(jī)度帮,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,508評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén)歼捏,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)瞳秽,“玉大人,你說(shuō)我怎么就攤上這事率翅。” “怎么了腺晾?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,812評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)念颈。 經(jīng)常有香客問(wèn)我榴芳,道長(zhǎng)窟感,這世上最難降的妖魔是什么柿祈? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,607評(píng)論 1 284
  • 正文 為了忘掉前任躏嚎,我火速辦了婚禮卢佣,結(jié)果婚禮上箭阶,老公的妹妹穿的比我還像新娘。我一直安慰自己婆殿,他們只是感情好鸣皂,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,728評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著荆陆,像睡著了一般被啼。 火紅的嫁衣襯著肌膚如雪浓体。 梳的紋絲不亂的頭發(fā)上命浴,一...
    開(kāi)封第一講書(shū)人閱讀 49,919評(píng)論 1 290
  • 那天生闲,我揣著相機(jī)與錄音碍讯,去河邊找鬼捉兴。 笑死轴术,一個(gè)胖子當(dāng)著我的面吹牛逗栽,可吹牛的內(nèi)容都是我干的彼宠。 我是一名探鬼主播凭峡,決...
    沈念sama閱讀 39,071評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼倍踪,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼建车!你這毒婦竟也來(lái)了缤至?” 一聲冷哼從身側(cè)響起领斥,我...
    開(kāi)封第一講書(shū)人閱讀 37,802評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎嚼黔,沒(méi)想到半個(gè)月后隔崎,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體韵丑,經(jīng)...
    沈念sama閱讀 44,256評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,576評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了碗短。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片偎谁。...
    茶點(diǎn)故事閱讀 38,712評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡闰渔,死狀恐怖冈涧,靈堂內(nèi)的尸體忽然破棺而出督弓,到底是詐尸還是另有隱情跟畅,我是刑警寧澤奸攻,帶...
    沈念sama閱讀 34,389評(píng)論 4 332
  • 正文 年R本政府宣布睹耐,位于F島的核電站硝训,受9級(jí)特大地震影響窖梁,放射性物質(zhì)發(fā)生泄漏纵刘。R本人自食惡果不足惜假哎,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,032評(píng)論 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望惧蛹。 院中可真熱鬧香嗓,春花似錦陶缺、人聲如沸饱岸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,798評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)柬泽。三九已至锨并,卻和暖如春第煮,著一層夾襖步出監(jiān)牢的瞬間包警,已是汗流浹背害晦。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,026評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工苟呐, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留牵素,地道東北人笆呆。 一個(gè)月前我還...
    沈念sama閱讀 46,473評(píng)論 2 360
  • 正文 我出身青樓俄精,卻偏偏與公主長(zhǎng)得像竖慧,于是被迫代替她去往敵國(guó)和親圾旨。 傳聞我的和親對(duì)象是個(gè)殘疾皇子砍的,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,606評(píng)論 2 350

推薦閱讀更多精彩內(nèi)容