知識(shí)點(diǎn)(1)

MessageQueue:就是一個(gè)消息隊(duì)列蔓肯,可以添加消息卿叽,并處理消息

Hanlder內(nèi)部會(huì)跟Looper進(jìn)行關(guān)聯(lián)彤断,也就是說在Handler的內(nèi)部可以找到Looper漱贱,找到了Looper也就找到了MessageQueue在Hanler中發(fā)送消息峡钓,其實(shí)就是先MessageQueue隊(duì)列中發(fā)送消息

總結(jié):Hanlder負(fù)責(zé)發(fā)送消息妓笙,Looper負(fù)責(zé)接收handler發(fā)送的消息,并直接把消息回傳到handler自己

MessageQueue就是一個(gè)存儲(chǔ)消息的容器


Volley框架的使用

1.Volley的get和post請(qǐng)求方式的使用

挑選合適的請(qǐng)求對(duì)象:(返回?cái)?shù)據(jù)的類型)

StringRequest(主要請(qǐng)求不確定)

JsonObjectRequest(返回解析的數(shù)據(jù)是jsonObject)

JsonArrayRequest(返回解析的數(shù)據(jù)是JsonArray)

回調(diào)的使用

2.Volley的網(wǎng)絡(luò)請(qǐng)求隊(duì)列建立和取消隊(duì)列的請(qǐng)求

建立全局請(qǐng)求隊(duì)列

方面取消某個(gè)請(qǐng)求

3.Volley與Activity生命周期的聯(lián)動(dòng)

特點(diǎn)

可以在Activity銷毀的時(shí)候,同時(shí)關(guān)閉請(qǐng)求

關(guān)鍵點(diǎn)

設(shè)置Tag標(biāo)簽能岩,onStop()里面執(zhí)行取消請(qǐng)求

Volley的簡(jiǎn)單的二次回調(diào)封裝

請(qǐng)求成功請(qǐng)求失敗的回調(diào)封裝

優(yōu)勢(shì)

全局使用一個(gè)方式寞宫,可控,可自定義定制需求

方便靈活


OkHttp

https://blog.csdn.net/jiankeufo/article/details/54880588

1.占用儲(chǔ)存空間

????使用OkHttp需要 okio.jar (80k), okhttp.jar(330k)這2個(gè)jar包拉鹃,總大小差不多400k,加上自己的封裝辈赋,差不多得410k。

2.功能介紹

????Square 公司開源的 OkHttp 是一個(gè)專注于連接效率的 HTTP 客戶端膏燕。OkHttp 提供了對(duì) HTTP/2 和 SPDY 的支持钥屈,并提供了連接池,GZIP 壓縮和 HTTP 響應(yīng)緩存功能坝辫。

3.優(yōu)點(diǎn)

????支持http請(qǐng)求篷就,https請(qǐng)求。

????支持文件下載近忙。

????使用的是HttpURLConnection,不要擔(dān)心android版本的變換竭业。(至少目前是都支持的)智润。

????支持get,post請(qǐng)求未辆。

????基于Http的文件上傳窟绷。

????加載圖片。

4.缺點(diǎn)

????比如callback回來是在線程里面, 不能刷新UI咐柜,需要我們手動(dòng)處理兼蜈。

????封裝比較麻煩。

Volley

1.占用儲(chǔ)存空間

????使用Volley 需要Volley.jar(120k)炕桨,加上自己的封裝最多140k饭尝。

2.功能介紹

? Volley是Goole在2013年Google I/O大會(huì)上推出了一個(gè)新的網(wǎng)絡(luò)通信框架,它是開源的献宫。

? ?Volley 的特點(diǎn):特別適合數(shù)據(jù)量小钥平,通信頻繁的網(wǎng)絡(luò)操作。

3.優(yōu)點(diǎn)

????非常適合進(jìn)行數(shù)據(jù)量不大姊途,但通信頻繁的網(wǎng)絡(luò)操作涉瘾。

????內(nèi)部分裝了異步線程。

????支持get捷兰,post網(wǎng)絡(luò)請(qǐng)求立叛。

????圖片下載。

????可直接在主線程調(diào)用服務(wù)端并處理返回結(jié)果贡茅。

????可以取消請(qǐng)求秘蛇,容易擴(kuò)展,面向接口編程顶考。

4.缺點(diǎn)

????對(duì)大文件下載 Volley的表現(xiàn)非常糟糕赁还。

????只支持http請(qǐng)求。

????在BasicNetwork中判斷了statusCode(statusCode < 200 || statusCode > 299)驹沿,如果符合條件直

????接圖片加載艘策,性能一般。

????使用的是httpclient渊季,HttpURLConnection贰逾。不過在android 6.0不支持httpclient了纵柿,如果想支持得添加org.apache.http.legacy.jar免都。

總結(jié)

在我們平時(shí)的項(xiàng)目使用volley就可以了食侮,相對(duì)okhttp,volley非常穩(wěn)定合砂。Okhttp一般混合來用青扔,能夠勝任相對(duì)復(fù)雜的需求。如今,在AndroidStudio中赎懦,網(wǎng)絡(luò)請(qǐng)求還是推薦使用Retrofit2+okhttp。

Retrofit2+okHttp3這個(gè)目前較為流行網(wǎng)絡(luò)框架


四種常用的圖片加載框架幻工,分別是Fresco励两、ImageLoader、 Picasso囊颅、 Glide当悔,包括他們各自的優(yōu)缺點(diǎn)、使用步驟等等

http://www.jb51.net/article/100093.htm

?首先看 Fresco, Fresco 是 Facebook 推出的開源圖片緩存工具踢代,主要特點(diǎn)包括:兩個(gè)內(nèi)存緩存加上 Native 緩存構(gòu)成了三級(jí)緩存盲憎,支持流式,可以類似網(wǎng)頁上模糊漸進(jìn)式顯示圖片胳挎,對(duì)多幀動(dòng)畫圖片支持更好饼疙,如 Gif、WebP慕爬。它的優(yōu)點(diǎn)是其他幾個(gè)框架沒有的, 或者說是其他幾個(gè)框架的短板窑眯。

????? 優(yōu)點(diǎn):

???????? 1. 圖片存儲(chǔ)在安卓系統(tǒng)的匿名共享內(nèi)存, 而不是虛擬機(jī)的堆內(nèi)存中, 圖片的中間緩沖數(shù)據(jù)也存放在本地堆內(nèi)存, 所以, 應(yīng)用程序有更多的內(nèi)存使用, 不會(huì)因?yàn)閳D片加載而導(dǎo)致oom, 同時(shí)也減少垃圾回收器頻繁調(diào)用回收 Bitmap 導(dǎo)致的界面卡頓, 性能更高。???????? 2. 漸進(jìn)式加載 JPEG 圖片, 支持圖片從模糊到清晰加載医窿。???????? 3. 圖片可以以任意的中心點(diǎn)顯示在 ImageView, 而不僅僅是圖片的中心磅甩。???????? 4. JPEG 圖片改變大小也是在 native 進(jìn)行的, 不是在虛擬機(jī)的堆內(nèi)存, 同樣減少 OOM。???????? 5. 很好的支持 GIF 圖片的顯示姥卢。

??? 缺點(diǎn):

???????? 1. 框架較大, 影響 Apk 體積???????? 2. 使用較繁瑣

?ImageLoader是比較老的框架,是github社區(qū)上star最多的一個(gè)項(xiàng)目,可以理解為點(diǎn)贊最多滴,應(yīng)該是最有名的一個(gè)國(guó)內(nèi)很多知名軟件都用它包括淘寶京東聚劃算等等卷要。整個(gè)庫分為 ImageLoaderEngine,Cache 及 ImageDownloader独榴,ImageDecoder僧叉,BitmapDisplayer,BitmapProcessor 五大模塊括眠,其中 Cache 分為 MemoryCache 和 DiskCache 兩部分彪标。簡(jiǎn)單的講就是 ImageLoader 收到加載及顯示圖片的任務(wù),并將它交給 ImageLoaderEngine掷豺,ImageLoaderEngine 分發(fā)任務(wù)到具體線程池去執(zhí)行捞烟,任務(wù)通過 Cache 及 ImageDownloader 獲取圖片,中間可能經(jīng)過 BitmapProcessor 和 ImageDecoder 處理当船,最終轉(zhuǎn)換為Bitmap 交給 BitmapDisplayer 在 ImageAware中顯示题画。特點(diǎn)是穩(wěn)定, 加載速度適中, 缺點(diǎn)在于不支持GIF圖片加載, 使用稍微繁瑣, 并且緩存機(jī)制沒有和 http 的緩存很好的結(jié)合, 完全是自己的一套緩存機(jī)制。使用比較簡(jiǎn)單,這個(gè)框架的github主頁上也有快速使用的步驟德频,基本上就是在application類里的oncreate方法(整個(gè)程序開始時(shí)運(yùn)行一次)中進(jìn)行一下簡(jiǎn)單的基本配置,可以根據(jù)需要自行進(jìn)行設(shè)定,懶得設(shè)定的話框架也提供了一個(gè)默認(rèn)的配置,調(diào)用一個(gè)方法即可苍息。基本上是配置一些類似于:緩存類型啊,緩存上限值啊,加載圖片的線程池?cái)?shù)量啊等等。此外在頁面內(nèi)顯示的時(shí)候還要設(shè)置一個(gè)顯示配置這個(gè)配置不同于基本配置,一個(gè)項(xiàng)目里可以根據(jù)需要?jiǎng)?chuàng)建多個(gè)配置對(duì)象使用,這個(gè)配置就比較具體了,可以設(shè)置是否使用disk緩存(存到sd卡里一般),加載圖片失敗時(shí)顯示的圖片,默認(rèn)圖片,圖片的色彩樣式等竞思。ImageLoader和Volley圖片部分還包括其他大部分圖片框架,基本上圖片處理都差不多,區(qū)別僅在于部分優(yōu)化了,而優(yōu)化方面UIL即Universal-Image-Loader框架做的最好,配置好以后,就是簡(jiǎn)單的使用了,創(chuàng)建一個(gè)圖片加載對(duì)象,然后一行代碼搞定顯示圖片功能表谊。參數(shù)一般是入你需要顯示的圖片url和imageview對(duì)象。

???? 優(yōu)點(diǎn):

?????? 1.支持下載進(jìn)度監(jiān)聽?????? 2.可以在 View 滾動(dòng)中暫停圖片加載盖喷,通過 PauseOnScrollListener 接口可以在 View 滾動(dòng)中暫停圖片加載爆办。?????? 3.默認(rèn)實(shí)現(xiàn)多種內(nèi)存緩存算法 這幾個(gè)圖片緩存都可以配置緩存算法,不過 ImageLoader 默認(rèn)實(shí)現(xiàn)了較多緩存算法课梳,如 Size 最大先刪除距辆、使用最少先刪除、最近最少使用暮刃、先進(jìn)先刪除跨算、時(shí)間最長(zhǎng)先刪除等。?????? 4.支持本地緩存文件名規(guī)則定義

???? 4. 提供了豐富的緩存策略?

???????? 內(nèi)存緩存椭懊,現(xiàn)在我們來看Universal-Image-Loader有哪些內(nèi)存緩存策略

??????? 1. 只使用的是強(qiáng)引用緩存???????????? LruMemoryCache(這個(gè)類就是這個(gè)開源框架默認(rèn)的內(nèi)存緩存類诸蚕,緩存的是bitmap的強(qiáng)引用,下面我會(huì)從源碼上面分析這個(gè)類)

??????? 2.使用強(qiáng)引用和弱引用相結(jié)合的緩存有

?????????? UsingFreqLimitedMemoryCache(如果緩存的圖片總量超過限定值氧猬,先刪除使用頻率最小的bitmap)?????????? LRULimitedMemoryCache(這個(gè)也是使用的lru算法挫望,和LruMemoryCache不同的是,他緩存的是bitmap的弱引用)?????????? FIFOLimitedMemoryCache(先進(jìn)先出的緩存策略狂窑,當(dāng)超過設(shè)定值媳板,先刪除最先加入緩存的bitmap)?????????? LargestLimitedMemoryCache(當(dāng)超過緩存限定值,先刪除最大的bitmap對(duì)象)?????????? LimitedAgeMemoryCache(當(dāng) bitmap加入緩存中的時(shí)間超過我們?cè)O(shè)定的值泉哈,將其刪除)

??????? 3.只使用弱引用緩存

?????????? WeakMemoryCache(這個(gè)類緩存bitmap的總大小沒有限制蛉幸,唯一不足的地方就是不穩(wěn)定,緩存的圖片容易被回收硬盤緩存)?????????? FileCountLimitedDiscCache(可以設(shè)定緩存圖片的個(gè)數(shù)丛晦,當(dāng)超過設(shè)定值奕纫,刪除掉最先加入到硬盤的文件)?????????? LimitedAgeDiscCache(設(shè)定文件存活的最長(zhǎng)時(shí)間,當(dāng)超過這個(gè)值烫沙,就刪除該文件)?????????? TotalSizeLimitedDiscCache(設(shè)定緩存bitmap的最大值匹层,當(dāng)超過這個(gè)值,刪除最先加入到硬盤的文件)?????????? UnlimitedDiscCache(這個(gè)緩存類沒有任何的限制)

??????? Picasso 是 Square 開源的項(xiàng)目锌蓄,且他的主導(dǎo)者是 JakeWharton升筏,所以廣為人知。square公司,很多知名的開源也是該公司`android-times-square,leakcanary,okhttp,retrofit`瘸爽。 Picasso的使用方便, 一行代碼完成加載圖片并顯示, 框架體積小您访。但是不支持 GIF, 并且它可能是想讓服務(wù)器去處理圖片的縮放, 它緩存的圖片是未縮放的, 并且默認(rèn)使用 ARGB_8888 格式緩存圖片, 緩存體積大。整個(gè)庫分為 Dispatcher剪决,RequestHandler 及 Downloader灵汪,PicassoDrawable 等模塊檀训。Dispatcher 負(fù)責(zé)分發(fā)和處理 Action,包括提交享言、暫停峻凫、繼續(xù)、取消览露、網(wǎng)絡(luò)狀態(tài)變化蔚晨、重試等等。簡(jiǎn)單的講就是 Picasso 收到加載及顯示圖片的任務(wù)肛循,創(chuàng)建 Request 并將它交給 Dispatcher,Dispatcher 分發(fā)任務(wù)到具體 RequestHandler银择,任務(wù)通過 MemoryCache 及 Handler(數(shù)據(jù)獲取接口) 獲取圖片多糠,圖片獲取成功后通過 PicassoDrawable 顯示到 Target 中。需要注意的是上面 Data 的 File system 部分浩考,Picasso 沒有自定義本地緩存的接口夹孔,默認(rèn)使用 http 的本地緩存,API 9 以上使用 okhttp析孽,以下使用 Urlconnection搭伤,所以如果需要自定義本地緩存就需要重定義 Downloader。

?????? Picasso 優(yōu)點(diǎn)

??????? 1.自帶統(tǒng)計(jì)監(jiān)控功能袜瞬。支持圖片緩存使用的監(jiān)控怜俐,包括緩存命中率、已使用內(nèi)存大小邓尤、節(jié)省的流量等拍鲤。??????? 2.支持優(yōu)先級(jí)處理。每次任務(wù)調(diào)度前會(huì)選擇優(yōu)先級(jí)高的任務(wù)汞扎,比如 App 頁面中 Banner 的優(yōu)先級(jí)高于 Icon 時(shí)就很適用季稳。??????? 3.支持延遲到圖片尺寸計(jì)算完成加載??????? 4.支持飛行模式、并發(fā)線程數(shù)根據(jù)網(wǎng)絡(luò)類型而變澈魄。 手機(jī)切換到飛行模式或網(wǎng)絡(luò)類型變換時(shí)會(huì)自動(dòng)調(diào)整線程池最大并發(fā)數(shù)景鼠,比如 wifi 最大并發(fā)為 4,4g 為 3痹扇,3g 為 2铛漓。? 這里 Picasso 根據(jù)網(wǎng)絡(luò)類型來決定最大并發(fā)數(shù),而不是 CPU 核數(shù)鲫构。??????? 5.“無”本地緩存票渠。無”本地緩存,不是說沒有本地緩存芬迄,而是 Picasso 自己沒有實(shí)現(xiàn)问顷,交給了 Square 的另外一個(gè)網(wǎng)絡(luò)庫 okhttp 去實(shí)現(xiàn),這樣的好處是可以通過請(qǐng)求 Response Header 中的 Cache-Control 及 Expired 控制圖片的過期時(shí)間。

Glide可以說是 Picasso 的升級(jí)版, 有 Picasso 的優(yōu)點(diǎn), 并且支持 GIF 圖片加載顯示, 圖片緩存也會(huì)自動(dòng)縮放, 默認(rèn)使用 RGB_565 格式緩存圖片, 是 Picasso 緩存體積的一半杜窄。谷歌為我們介紹了一個(gè)名叫 Glide 的圖片加載庫肠骆,作者是`bumptech`。這個(gè)庫被廣泛的運(yùn)用在google的開源項(xiàng)目中塞耕,包括2014年google I/O大會(huì)上發(fā)布的官方app蚀腿。整個(gè)庫分為 RequestManager(請(qǐng)求管理器),Engine(數(shù)據(jù)獲取引擎)扫外、 Fetcher(數(shù)據(jù)獲取器)莉钙、MemoryCache(內(nèi)存緩存)、DiskLRUCache筛谚、Transformation(圖片處理)磁玉、Encoder(本地緩存存儲(chǔ))、Registry(圖片類型及解析器配置)驾讲、Target(目標(biāo)) 等模塊蚊伞。簡(jiǎn)單的講就是Glide 收到加載及顯示資源的任務(wù),創(chuàng)建 Request 并將它交給RequestManager吮铭,Request 啟動(dòng) Engine 去數(shù)據(jù)源獲取資源(通過 Fetcher )时迫,獲取到后 Transformation 處理后交給 Target。Glide 依賴于 DiskLRUCache谓晌、GifDecoder 等開源庫去完成本地緩存和 Gif 圖片解碼工作掠拳。

???? Glide 優(yōu)點(diǎn)

不僅僅可以進(jìn)行圖片緩存還可以緩存媒體文件。Glide 不僅是一個(gè)圖片緩存纸肉,它支持 Gif碳想、WebP、縮略圖毁靶。甚至是 Video胧奔,所以更該當(dāng)做一個(gè)媒體緩存。 ? ? ? ?2.支持優(yōu)先級(jí)處理预吆。??????? 3.與 Activity/Fragment 生命周期一致龙填,支持 trimMemory。Glide 對(duì)每個(gè) context 都保持一個(gè) RequestManager拐叉,通過 FragmentTransaction 保持與 Activity/Fragment 生命周期一致岩遗,并且有對(duì)應(yīng)的 trimMemory 接口實(shí)現(xiàn)可供調(diào)用。??????? 4.支持 okhttp凤瘦、Volley宿礁。Glide 默認(rèn)通過 UrlConnection 獲取數(shù)據(jù),可以配合 okhttp 或是 Volley 使用蔬芥。實(shí)際 ImageLoader梆靖、Picasso 也都支持 okhttp控汉、Volley。??????? 5.內(nèi)存友好返吻。Glide 的內(nèi)存緩存有個(gè) active 的設(shè)計(jì)姑子,從內(nèi)存緩存中取數(shù)據(jù)時(shí),不像一般的實(shí)現(xiàn)用 get测僵,而是用 remove街佑,再將這個(gè)緩存數(shù)據(jù)放到一個(gè) value 為軟引用的 activeResources map 中,并計(jì)數(shù)引用數(shù)捍靠,在圖片加載完成后進(jìn)行判斷沐旨,如果引用計(jì)數(shù)為空則回收掉。內(nèi)存緩存更小圖片榨婆,Glide 以 url磁携、view_width、view_height纲辽、屏幕的分辨率等做為聯(lián)合 key,將處理后的圖片緩存在內(nèi)存緩存中璃搜,而不是原始圖片以節(jié)省大小與 Activity/Fragment 生命周期一致拖吼,支持 trimMemory。圖片默認(rèn)使用默認(rèn)RGB_565 而不是 ARGB_888这吻,雖然清晰度差些吊档,但圖片更小,也可配置到 ARGB_888唾糯。???????? 6.Glide 可以通過 signature 或不使用本地緩存支持 url 過期


Android --- 簡(jiǎn)單實(shí)現(xiàn)三級(jí)緩存

為什么要進(jìn)行三級(jí)緩存

三級(jí)緩存策略怠硼,最實(shí)在的意義就是減少不必要的流量消耗,增加加載速度移怯。

?三級(jí)緩存的原理

首次加載的時(shí)候通過網(wǎng)絡(luò)加載香璃,獲取圖片,然后保存到內(nèi)存和SD 卡中舟误。

之后運(yùn)行APP 時(shí)葡秒,優(yōu)先訪問內(nèi)存中的圖片緩存。

如果內(nèi)存沒有嵌溢,則加載本地SD 卡中的圖片眯牧。

?三級(jí)緩存:

 1、網(wǎng)絡(luò)緩存 從網(wǎng)絡(luò)獲取資源(異步加載)

 2赖草、本地緩存 從本地獲取數(shù)據(jù)(File存儲(chǔ))

 3学少、內(nèi)存緩存 從內(nèi)存獲取數(shù)據(jù)(LruCache)

輕量級(jí)緩存框架——ACache(ASimpleCache)

ACache介紹:

ACache類似于SharedPreferences,但是比SharedPreferences功能更加強(qiáng)大秧骑,SharedPreferences只能保存一些基本數(shù)據(jù)類型版确、Serializable扣囊、Bundle等數(shù)據(jù),

而Acache可以緩存如下數(shù)據(jù):

普通的字符串阀坏、JsonObject如暖、JsonArray、Bitmap忌堂、Drawable盒至、序列化的java對(duì)象,和 byte數(shù)據(jù)士修。

主要特色:

1:輕枷遂,輕到只有一個(gè)JAVA文件。

2:可配置棋嘲,可以配置緩存路徑酒唉,緩存大小,緩存數(shù)量等沸移。

3:可以設(shè)置緩存超時(shí)時(shí)間痪伦,緩存超時(shí)自動(dòng)失效,并被刪除雹锣。

4:支持多進(jìn)程网沾。

應(yīng)用場(chǎng)景:

1、替換SharePreference當(dāng)做配置文件

2蕊爵、可以緩存網(wǎng)絡(luò)請(qǐng)求數(shù)據(jù)辉哥,比如oschina的android客戶端可以緩存http請(qǐng)求的新聞內(nèi)容,緩存時(shí)間假設(shè)為1個(gè)小時(shí)攒射,超時(shí)后自動(dòng)失效醋旦,讓客戶端重新請(qǐng)求新的數(shù)據(jù),減少客戶端流量会放,同時(shí)減少服務(wù)器并發(fā)量饲齐。

下載鏈接:https://github.com/yangfuhai/ASimpleCache

框架分析:http://blog.csdn.net/zhoubin1992/article/details/46379055


2、Android緩存機(jī)制

Android緩存分為內(nèi)存緩存和文件緩存(磁盤緩存)咧最。在早期箩张,各大圖片緩存框架流行之前,常用的內(nèi)存緩存方式是軟引用(SoftReference)和弱引用(WeakReference)窗市,如大部分的使用方式:HashMap> imageCache;這種形式先慷。從Android 2.3(Level 9)開始,垃圾回收器更傾向于回收SoftReference或WeakReference對(duì)象咨察,這使得SoftReference和WeakReference變得不是那么實(shí)用有效论熙。同時(shí),到了Android 3.0(Level 11)之后摄狱,圖片數(shù)據(jù)Bitmap被放置到了內(nèi)存的堆區(qū)域脓诡,而堆區(qū)域的內(nèi)存是由GC管理的无午,開發(fā)者也就不需要進(jìn)行圖片資源的釋放工作,但這也使得圖片數(shù)據(jù)的釋放無法預(yù)知祝谚,增加了造成OOM的可能宪迟。因此,在Android3.1以后交惯,Android推出了LruCache這個(gè)內(nèi)存緩存類次泽,LruCache中的對(duì)象是強(qiáng)引用的。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末席爽,一起剝皮案震驚了整個(gè)濱河市意荤,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌只锻,老刑警劉巖玖像,帶你破解...
    沈念sama閱讀 217,542評(píng)論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異齐饮,居然都是意外死亡捐寥,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門祖驱,熙熙樓的掌柜王于貴愁眉苦臉地迎上來握恳,“玉大人,你說我怎么就攤上這事羹膳∷ィ” “怎么了根竿?”我有些...
    開封第一講書人閱讀 163,912評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵陵像,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我寇壳,道長(zhǎng)醒颖,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,449評(píng)論 1 293
  • 正文 為了忘掉前任壳炎,我火速辦了婚禮泞歉,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘匿辩。我一直安慰自己腰耙,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,500評(píng)論 6 392
  • 文/花漫 我一把揭開白布铲球。 她就那樣靜靜地躺著挺庞,像睡著了一般。 火紅的嫁衣襯著肌膚如雪稼病。 梳的紋絲不亂的頭發(fā)上选侨,一...
    開封第一講書人閱讀 51,370評(píng)論 1 302
  • 那天掖鱼,我揣著相機(jī)與錄音,去河邊找鬼援制。 笑死戏挡,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的晨仑。 我是一名探鬼主播褐墅,決...
    沈念sama閱讀 40,193評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼寻歧!你這毒婦竟也來了掌栅?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,074評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤码泛,失蹤者是張志新(化名)和其女友劉穎猾封,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體噪珊,經(jīng)...
    沈念sama閱讀 45,505評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡晌缘,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,722評(píng)論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了痢站。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片磷箕。...
    茶點(diǎn)故事閱讀 39,841評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖阵难,靈堂內(nèi)的尸體忽然破棺而出岳枷,到底是詐尸還是另有隱情,我是刑警寧澤呜叫,帶...
    沈念sama閱讀 35,569評(píng)論 5 345
  • 正文 年R本政府宣布空繁,位于F島的核電站,受9級(jí)特大地震影響朱庆,放射性物質(zhì)發(fā)生泄漏盛泡。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,168評(píng)論 3 328
  • 文/蒙蒙 一娱颊、第九天 我趴在偏房一處隱蔽的房頂上張望傲诵。 院中可真熱鬧,春花似錦箱硕、人聲如沸拴竹。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,783評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽栓拜。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間菱属,已是汗流浹背钳榨。 一陣腳步聲響...
    開封第一講書人閱讀 32,918評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留纽门,地道東北人薛耻。 一個(gè)月前我還...
    沈念sama閱讀 47,962評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像赏陵,于是被迫代替她去往敵國(guó)和親饼齿。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,781評(píng)論 2 354

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

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,114評(píng)論 25 707
  • 7.1 壓縮圖片 一蝙搔、基礎(chǔ)知識(shí) 1缕溉、圖片的格式 jpg:最常見的圖片格式。色彩還原度比較好吃型,可以支持適當(dāng)壓縮后保持...
    AndroidMaster閱讀 2,515評(píng)論 0 13
  • Glide筆記 一证鸥、簡(jiǎn)介 在泰國(guó)舉行的谷歌開發(fā)者論壇上,谷歌為我們介紹了一個(gè)名叫Glide的圖片加載庫勤晚,作者是bu...
    AndroidMaster閱讀 3,898評(píng)論 0 27
  • 這么久以來雖然經(jīng)常用到一些圖庫,但是自己從來沒有真正整理過我們使用過的這些東西有什么不同點(diǎn),我們?yōu)槭裁匆x擇這個(gè)圖...
    黑石ZB閱讀 3,723評(píng)論 1 16
  • 1212121212asasasas啊颯颯颯颯asasasasas啊颯颯啊颯颯 121212 121212 121...
    alonenet閱讀 189評(píng)論 0 0