國外多位用戶反應 Pixel 4a 5G 升級 12 月更新之後,出現螢幕觸控的問題_網頁設計公司

※綠能、環保無空污,成為電動車最新代名詞,目前市場使用率逐漸普及化

台中景泰電動車行只是一個單純的理由,將來台灣的環境,出門可以自由放心的深呼吸,讓空氣回歸自然的乾淨,減少污染,留給我們下一代有好品質無空污的優質環境

Pixel 手機 12 月更新加入很多新功能,特別是 Pixel 5 不少特色都下放,也因此基本上只要是能升級的人,一定都會更新上去。不過,對於習慣使用底部導航按鈕的 Pixel 4a 5G 用戶來說,或許等等會更好,最近不少 Pixel 4a 5G 戶反應出現螢幕觸控反應不靈敏的問題,而且連 Google 官方都確認有這 Bug,目前還尚未改善。

Pixel 4a 5G 升級 12 月更新之後,出現螢幕觸控的問題

近期在國外 Google 官方論壇、Google Issue Tracker 與 XDA 開發者論壇上,都有用戶反應升級 12 月更新之後,螢幕的觸控有 Bug,主要集中在下方,特別是有開啟底部導航按鈕的人會明顯感受到。

根據這位用戶說明,他一開始使用約兩週 Pixel 4a 5G 時,一切都非常正常,而升級到 12 月版本之後,底部的螢幕觸控按鈕反應變得很差,有時候按完全沒反應,已經嘗試過恢復出廠設置與啟用 / 不啟用觸控靈敏度都一樣:

而最近 Google 也公布 1 月更新內容,但沒有提到任何關於修復螢幕觸控的內容,他嘗試更新以後也確定沒改善,Bug 依舊存在。

詳細可以參考下方影片,左下方返回按鈕靠近邊緣處有時候按會沒反應,中間的話就沒問題:

 

一位官方人員也在貼文下方回覆,表示他們已經知道這問題,未來將透過新更新來修復,目前可以透過以下方法來提升反應速度:

※如何讓商品強力曝光呢? 網頁設計公司幫您建置最吸引人的網站,提高曝光率!

以設計的實用美學觀點,規劃出舒適、美觀的視覺畫面,有效提昇使用者的心理期待,營造出輕鬆、愉悅的網站瀏覽體驗。

  • 點擊螢幕邊緣的觸控按鈕時,請點擊中心點或邊緣的另一側。
  • 點擊觸控按鈕時,請改用手指或拇指的最尖處,這將有助於改善觸控辨識。

如果你沒有開啟底部按鈕,大多都是用手勢操作的話,那就不用太在意這 Bug,基本上應該不影響。

話說回來,既然官方 12 月底就回覆知道這 Bug,1 月更新竟然還沒加入修復內容,也讓人奇怪,或許是問題沒那麼好解決吧。無論如何,至少之後確定會修復就是了。

資料來源:Android Police

Google Pixel 4a 5G 開箱實測,擁有旗艦級的拍照能力,加上甜到令人蛀牙的價格,帶你體驗 5G 高速世界

您也許會喜歡:

【推爆】終身$0月租 打電話只要1元/分

立達合法徵信社-讓您安心的選擇

※自行創業缺乏曝光? 網頁設計幫您第一時間規劃公司的形象門面

網站的第一印象網頁設計,決定了客戶是否繼續瀏覽的意願。台北網動廣告製作的RWD網頁設計,採用精簡與質感的CSS語法,提升企業的專業形象與簡約舒適的瀏覽體驗,讓瀏覽者第一眼就愛上它。

學Linux驅動: 應該先了解驅動模型_網頁設計公司

※自行創業缺乏曝光? 網頁設計幫您第一時間規劃公司的形象門面

網站的第一印象網頁設計,決定了客戶是否繼續瀏覽的意願。台北網動廣告製作的RWD網頁設計,採用精簡與質感的CSS語法,提升企業的專業形象與簡約舒適的瀏覽體驗,讓瀏覽者第一眼就愛上它。

[導讀] Linux設備林林總總,嵌入式開發一個繞不開的話題就是設備驅動開發,在做具體設備驅動開發之前,有必要對Linux設驅動模型有一個相對清晰的認識,將會幫助驅動開發,明白具體驅動接口操作符相應都做些什麼。

個人對於驅動模型的理解概括起來就是一句話:利用面向對象編程思想,實現設備分層管理軟件體繫結構

注:代碼分析基於linux-5.4.31

為啥要驅動模型

隨着系統結構演化越來越複雜,Linux內核對設備描述衍生出一般性的抽象描述,形成一個分層體繫結構,從而引入了設備驅動模型。這樣描述還是不夠讓人理解,來看一下這些需求就好理解些:

  • Linux內核可以在各種體繫結構和硬件平台上運行,因此需要最大限度地提高代碼在平台之間的可重用性。
  • 分層實現也實現了軟件工程的高內聚-低耦合的設計思想。低耦合體現在對外提供統一的抽象訪問接口,高內聚將相關度緊密的集中抽象實現。
  • Linux內核驅動程序模型是先前在內核中使用的所有不同驅動程序模型的統一。 它旨在通過將一組數據和操作整合到全局可訪問的數據結構中,來擴展基於基礎總線來橋接設備驅動程序。

傳統的驅動模型為它們所控制的設備實現了某種類似於樹的結構(有時只是一個列表)。不同類型的總線之間沒有任何一致性。

驅動模型抽象了啥

當前驅動程序模型為描述總線和總線下可能出現的設備提供了一個通用的、統一的模型。統一總線模型包括一組所有總線都具有的公共屬性和一組公共回調,如總線探測期間的設備發現、總線關閉、總線電源管理等。

通用的設備和橋接接口反映了現代計算機的目標:即執行無縫設備“即插即用”,電源管理和熱插拔的能力。 特別是,英特爾和微軟規定的模型(即ACPI)可確保與x86兼容的系統上幾乎任何總線上的幾乎所有設備都可以在此範式下工作。 當然,雖然大多數總線都支持其中大多數操作,但並不是每條總線都能夠支持所有此類操作。

那麼哪些通用需求被抽象出來了呢?

  • 電源系統和系統關機,對於電源管理與系統關機對於設備相關的操作進行抽象實現。關機為什麼要被抽象出來管理,比如設備操作正在進行此時系統收到關機指令,那麼在設備模型層就會遍歷系統設備硬件,確保系統正確關機。

  • 用戶空間訪問:sysfs虛擬文件系統實現與設備模型對外的訪問抽象,這也是為什麼說Linux 設備也是文件的由來。實際從軟件架構層面看,這其實是一個軟件橋接模塊,抽象出統一用戶訪問接口,橋接了設備驅動。

  • 熱插拔管理:熱插拔管理機制定義統一的抽象接口操作符kset_hotplug_ops,不同設備利用操作符實現差異化。

  • 設備類型:設備分類機制,從高層級抽象描述設備類型,具體可以在sysfs下面體現。

用戶空間訪問

由於具有系統中所有設備的完整分層視圖,因此將完整的分層視圖導出到用戶空間變得相對容易。 這是通過實現名為sysfs虛擬文件系統來完成的。

sysfs的自動掛載通常是通過/etc/fstab文件中的以下條目來完成的:

none   /sys	sysfs  defaults	 0 0

對於Debian系統而言,可能在/lib/init/fstab採用下面的形式掛載:

※綠能、環保無空污,成為電動車最新代名詞,目前市場使用率逐漸普及化

台中景泰電動車行只是一個單純的理由,將來台灣的環境,出門可以自由放心的深呼吸,讓空氣回歸自然的乾淨,減少污染,留給我們下一代有好品質無空污的優質環境

none  /sys    sysfs    nodev,noexec,nosuid    0 0

當然也可以採用手動方式掛載:

# mount -t sysfs sysfs /sys

當將設備插入樹中時,都會為其創建一個目錄。該目錄可以填充在發現的每個層(全局層,總線層或設備層)中。

全局層當前創建兩個文件-‘name’和’power’。 前者報告設備名稱。 後者報告設備的當前電源狀態。 它還將用於設置當前電源狀態。

總線層為探測總線時發現的設備創建文件。 例如,PCI層當前為每個PCI設備創建“ irq”和“resource”文件。

特定於設備的驅動程序也可以在其目錄中導出文件,以暴露特定於設備的數據或可用接口。

驅動模型實現

先來梳理一下內部幾個主要與驅動模型相關的數據結構:

./include/linux/Device.h 定義設備驅動主要數據結構

  • bus_type:抽象描述總線類型,如USB/PCI/I2C/MMC等
  • device_driver:實現具體連接在總線上的設備驅動。
  • device:描述連接在總線上的設備

./include/linux/Kobject.h中定義了隱藏在後台的類似於基類的數據結構:

  • kset:可以認為是kobject的頂層容器類。每個kset內部都包含了自己的kobject.
  • kobject:在 sysfs 中出現的每個對象都對應一個 kobject, 它和內核交互來創建它的可見表述,每一個 kobject 對應 文件系統 /sys 里的一個 目錄,目錄的名字就是結構體中的 name

bus_type

bus_type用以驅動總線,具體的驅動USB/I2C/PCI/MMC等:

  • 註冊總線,利用bus_register註冊總線,bus_unregister刪除總線。如下例子,每種總線須定義一個bus_type對象,並利用bus_register註冊總線,或bus_unregister刪除總線。
/*i2c-core-base.c*/
struct bus_type i2c_bus_type = {
	.name		= "i2c",
	.match		= i2c_device_match,
	.probe		= i2c_device_probe,
	.remove		= i2c_device_remove,
	.shutdown	= i2c_device_shutdown,
};
EXPORT_SYMBOL_GPL(i2c_bus_type);
static int __init i2c_init(void)
{
	int retval;

	retval = of_alias_get_highest_id("i2c");

	down_write(&__i2c_board_lock);
	if (retval >= __i2c_first_dynamic_bus_num)
		__i2c_first_dynamic_bus_num = retval + 1;
	up_write(&__i2c_board_lock);
    /*註冊I2C總線*/
	retval = bus_register(&i2c_bus_type);
	if (retval)
		return retval;

	is_registered = true;

#ifdef CONFIG_I2C_COMPAT
	i2c_adapter_compat_class = class_compat_register("i2c-adapter");
	if (!i2c_adapter_compat_class) {
		retval = -ENOMEM;
		goto bus_err;
	}
#endif
	retval = i2c_add_driver(&dummy_driver);
	if (retval)
		goto class_err;

	if (IS_ENABLED(CONFIG_OF_DYNAMIC))
		WARN_ON(of_reconfig_notifier_register(&i2c_of_notifier));
	if (IS_ENABLED(CONFIG_ACPI))
		WARN_ON(acpi_reconfig_notifier_register(&i2c_acpi_notifier));

	return 0;

class_err:
#ifdef CONFIG_I2C_COMPAT
	class_compat_unregister(i2c_adapter_compat_class);
bus_err:
#endif
	is_registered = false;
    /*錯誤時刪除總線*/
	bus_unregister(&i2c_bus_type);
	return retval;
}
  • 註冊適配器驅動程序(USB控制器,I2C適配器等),以檢測連接的設備,並提供與設備的通信機制
  • 圖中的match函數接口用於將驅動程序與設備進行匹配。match回調的目的是使總線有機會通過比較驅動程序支持的設備ID與特定設備的設備ID來確定特定驅動程序是否支持特定設備,而不會犧牲特定於總線的功能或類型安全性 。當向總線註冊驅動程序時,將遍歷總線的設備列表,併為每個沒有與之關聯的驅動程序的設備調用match回調。
  • 提供API函數以實現適配器驅動以及設備驅動。
  • 同時dev_pm_ops *pm實現對於總線的功耗管理接口抽象。對於特定總線實現這個操作符對應的函數。
struct dev_pm_ops {
	int (*prepare)(struct device *dev);
	void (*complete)(struct device *dev);
	int (*suspend)(struct device *dev);
	int (*resume)(struct device *dev);
	int (*freeze)(struct device *dev);
	int (*thaw)(struct device *dev);
	int (*poweroff)(struct device *dev);
	int (*restore)(struct device *dev);
	int (*suspend_late)(struct device *dev);
	int (*resume_early)(struct device *dev);
	int (*freeze_late)(struct device *dev);
	int (*thaw_early)(struct device *dev);
	int (*poweroff_late)(struct device *dev);
	int (*restore_early)(struct device *dev);
	int (*suspend_noirq)(struct device *dev);
	int (*resume_noirq)(struct device *dev);
	int (*freeze_noirq)(struct device *dev);
	int (*thaw_noirq)(struct device *dev);
	int (*poweroff_noirq)(struct device *dev);
	int (*restore_noirq)(struct device *dev);
	int (*runtime_suspend)(struct device *dev);
	int (*runtime_resume)(struct device *dev);
	int (*runtime_idle)(struct device *dev);
};
  • iommu_ops 操作符提供總線相關的IOMMU抽象。
  • 設備驅動註冊到總線上時,將在sysfs管理總線/設備/設備驅動的層次關係,以PCI為例:
/*在總線上註冊的驅動程序會在總線的驅動程序目錄中獲得一個目錄*/
/sys/bus/pci/
        |-- devices
        `-- drivers
            |-- Intel ICH
            |-- Intel ICH Joystick
            |-- agpgart
            `-- e100
/*在該類型的總線上發現的每個設備都會在總線的設備目錄中獲得到物理層次結構中該設備目錄的符號鏈接*/
/sys/bus/pci/
          |-- devices
          |   |-- 00:00.0 -> ../../../root/pci0/00:00.0
          |   |-- 00:01.0 -> ../../../root/pci0/00:01.0
          |   `-- 00:02.0 -> ../../../root/pci0/00:02.0
          `-- drivers
  • 總線屬性:bus_groups/設備屬性dev_groups/驅動屬性drv_groups。

device

  • 作用:抽象描述具體的設備

  • 設備註冊:發現設備的總線驅動程序使用下面的函數來向內核註冊設備

int device_register(struct device * dev);
  • 利用device_unregister()從總線上刪除設備

device_driver

  • 作用:抽象描述連接在總線上的具體設備的驅動
  • 驅動註冊,通過下面的函數將設備驅動程序註冊
int driver_register(struct device_driver *drv);
  • 使用它使用以下命令從驅動程序目錄中添加和刪除屬性
  int driver_create_file(struct device_driver *, const struct driver_attribute *);
  void driver_remove_file(struct device_driver *, const struct driver_attribute *);

class

  • 作用:抽象設備的高層視圖,描述的是設備的集合。抽象了同類型的設備的底層實現細節。比如所有的網絡接口都位於/sys/class/net下
  • struct subsys_private *p描述類鏈表

kobject/kset

  • kobject類似於面向對象中的內核基類,內核利用它將各個對象連接起來組成分層的機構體系,其parent指針將形成一個樹狀分層結構。
  • kset內部包含了kobject。重心在描述對象的聚集於集合。這也是set一詞的含義。每一個kset添加到系統中,都將在sysfs中創建一個目錄
  • kobject/kset一起實現了sysfs虛擬文件系統中設備/總線/設備驅動樹狀分層結構的最關鍵的底層實現由來。

總體上而言:

通過上面一些關鍵數據結構關係分析,總線設備驅動模型最終目的是實現如下這樣一個分層驅動模型。

文章出自微信公眾號:嵌入式客棧,更多內容,請關注本人公眾號,嚴禁商業使用,違法必究

本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理

※如何讓商品強力曝光呢? 網頁設計公司幫您建置最吸引人的網站,提高曝光率!

以設計的實用美學觀點,規劃出舒適、美觀的視覺畫面,有效提昇使用者的心理期待,營造出輕鬆、愉悅的網站瀏覽體驗。

三星S21系列預購活動懶人包_網頁設計公司

※綠能、環保無空污,成為電動車最新代名詞,目前市場使用率逐漸普及化

台中景泰電動車行只是一個單純的理由,將來台灣的環境,出門可以自由放心的深呼吸,讓空氣回歸自然的乾淨,減少污染,留給我們下一代有好品質無空污的優質環境

三星5G新一代旗艦機Galaxy  S20、 S21+、S21 Ultra正式宣將在 1 月 29 日上市,並將於 1 月 15 日 15:30 起舉辦預購活動,並推出一系列預購禮與排隊禮。因應iPhone 12系列採取平價策略,這次三星S21系列,相較前一代S20系列,不但增加了一些新功能(如S21 Ultra多了可選購SPEN),建議售價還少了4000元以上,可以看出三星的企圖心!

三星S21系列的功能規格差異為何呢? 有哪些預購活動呢? 以下作一整理:

掌握最新電信資費訊息,請加入小丰子3C俱樂部粉絲頁!

小丰子3C俱樂部

 

1.S21系列建議售價與規格:

台灣三星1/29將在台上市5G新一代旗艦機Galaxy  S20、 S21+、S21 Ultra,其中S21 Ultra 首次加入S-Pen功能。 5G版本的 Galaxy S21系列的在台售價比較如下:

 

以下是三星S20、 S21+、S21 Ultra功能與規格比較:

 

2.預購活動:

A.Galaxy S21 5G 旗艦系列預購方案:

※如何讓商品強力曝光呢? 網頁設計公司幫您建置最吸引人的網站,提高曝光率!

以設計的實用美學觀點,規劃出舒適、美觀的視覺畫面,有效提昇使用者的心理期待,營造出輕鬆、愉悅的網站瀏覽體驗。

預購時間:1 月 15 日 15:30 至 1 月 25 日 23:59 期間開放預購登記。

預購好禮:
a.預購 Galaxy S21 Ultra 5G 並上網登錄送:Galaxy Buds Pro 真無線藍牙耳機(建議售價 NT$6,990)、Galaxy SmartTag 藍牙智慧防丟器(建議售價 NT$990)。
b.預購 Galaxy S21+ 5G︱Galaxy S21 5G 並上網登錄送:Galaxy Buds Live 真無線藍牙耳機(建議售價 NT$5,990)、Galaxy SmartTag 藍牙智慧防丟器(建議售價 NT$990)。

 

B.三星智慧館/三星商城預購方案:

a.預購取貨-限量線上排隊禮:
活動時間:1 月 15 日至 1 月 25 日止。
活動內容:於全台三星智慧館 Galaxy S21 5G 旗艦系列預購排隊網站登記,並於 1 月 27 日至 2 月 7 日憑預購 序號完成預購取機,即可獲得線上排隊禮郵政禮券 NT$1,000,限量 4,000 份。
指定店家優先取機排隊:三星微風南山旗艦體驗館限定取機加碼,於 1 月 27 日至 1 月 29 日至活動網頁預約,取機再送郵政禮券 NT$1,000,限量 350 份。

b.Samsung Care+全新上市三星智慧館獨家享悠遊卡加值回饋 NT$700:
活動時間:1 月 27 日至 3 月 31 日止。
活動內容:於全台三星智慧館購買 Galaxy S21 5G 旗艦系列手機,加購 Samsung Care+並繳滿六期保費,即可獲贈 Samsung Pay 悠遊卡加值回饋 NT$700。

 

C.Galaxy S21 5G 旗艦系列非預購方案:
非預購之消費者自 1 月 29 日起至 3 月 31 日期間,於全通路購買 Galaxy S21 5G 旗艦級系列手機並上網登錄,即可獲得【三合一無線閃充充電板(建議售價 NT$2,990)】、【Galaxy SmartTag 藍牙智慧防丟器(建議售價 NT$990)】; 購買 Galaxy S21 Ultra 5G 加贈【矽膠薄型背蓋(附 S Pen)(建議售價 NT$1,990)】。凡購買 Galaxy S21 5G 旗艦系列,可享 YouTube Premium 免費試用 4 個月。

 

您也許會喜歡:

【推爆】終身$0月租 打電話只要1元/分

立達合法徵信社-讓您安心的選擇

※自行創業缺乏曝光? 網頁設計幫您第一時間規劃公司的形象門面

網站的第一印象網頁設計,決定了客戶是否繼續瀏覽的意願。台北網動廣告製作的RWD網頁設計,採用精簡與質感的CSS語法,提升企業的專業形象與簡約舒適的瀏覽體驗,讓瀏覽者第一眼就愛上它。

伊朗核設施發生四次神秘爆炸後 致信歐盟_網頁設計公司

※自行創業缺乏曝光? 網頁設計幫您第一時間規劃公司的形象門面

網站的第一印象網頁設計,決定了客戶是否繼續瀏覽的意願。台北網動廣告製作的RWD網頁設計,採用精簡與質感的CSS語法,提升企業的專業形象與簡約舒適的瀏覽體驗,讓瀏覽者第一眼就愛上它。

摘錄自2020年7月6日大紀元報導

在與導彈和核項目相關的重要基礎設施近日連續發生神秘爆炸之後,伊朗致信歐盟。歐盟外交政策負責人約瑟夫・博雷爾(Josep Borrell)表示,伊朗當局以英、法、德政府未能很好地支持伊朗核協議的執行為由,啟動了伊朗核協議中的爭端解決機制。

美國川普總統於2018年5月8日退出了由美、英、德、法、中、俄於2015年聯合簽署的伊朗核協議,理由是此核協議並未制裁伊朗的彈道導彈項目, 伊朗隨後以拒絕執行核協議中的關鍵條款為由,要挾國際社會對美國政府施壓, 並於2020年1月5日宣布伊朗暫停履行伊朗核協議,並對該國持有的離心機數量不再進行限制。英、法、德三國政府因此於1月14日宣布, 根據伊朗核協議,啟動協議的爭端解決機制,以期重返伊朗核協議框架。伊朗則揚言要退出次協議及《全球核不擴散條約》, 但是後來未採取相關舉措。

※綠能、環保無空污,成為電動車最新代名詞,目前市場使用率逐漸普及化

台中景泰電動車行只是一個單純的理由,將來台灣的環境,出門可以自由放心的深呼吸,讓空氣回歸自然的乾淨,減少污染,留給我們下一代有好品質無空污的優質環境

聯合國國際原子能機構6月19日通過決議案,要求伊朗允許該機構的國際調查員進入該國的兩個被控曾存放未申報的核原料的設施裡進行檢查。這令伊朗惱怒,扎里夫隨後在其推特上譴責英、法、德未能脅迫美國停止對其制裁。

從6月26日起,伊朗導彈和核項目相關的重要基礎設施已經發生了4次原因不明的爆炸或火災現象。這不禁讓人質疑伊朗對國際社會承諾的其核武項目的安全性,這些火災事故表明伊朗在國防和基礎設施的維護上面是失敗的。

能源轉型
國際新聞
伊朗
核能

本站聲明:網站內容來源環境資訊中心https://e-info.org.tw/,如有侵權,請聯繫我們,我們將及時處理

※如何讓商品強力曝光呢? 網頁設計公司幫您建置最吸引人的網站,提高曝光率!

以設計的實用美學觀點,規劃出舒適、美觀的視覺畫面,有效提昇使用者的心理期待,營造出輕鬆、愉悅的網站瀏覽體驗。

微型塑膠污染:大西洋上的塑膠廢料總重「或達2100萬噸」_網頁設計公司

※如何讓商品強力曝光呢? 網頁設計公司幫您建置最吸引人的網站,提高曝光率!

以設計的實用美學觀點,規劃出舒適、美觀的視覺畫面,有效提昇使用者的心理期待,營造出輕鬆、愉悅的網站瀏覽體驗。

摘錄自2020年8月19日BBC報導

科學家發現,目前在大西洋上漂浮的微型塑膠碎片共計重1200至2100萬噸。

由英國國家海洋學中心領頭的一個項目,在大西洋中部進行考察研究,探索了海面至200米深的區域。得出的發現是,2100萬噸這個量級的塑膠,可以完全裝滿近1000艘集裝箱船。該發現已經刊登在期刊《自然通訊》(Nature Communications)上。

※自行創業缺乏曝光? 網頁設計幫您第一時間規劃公司的形象門面

網站的第一印象網頁設計,決定了客戶是否繼續瀏覽的意願。台北網動廣告製作的RWD網頁設計,採用精簡與質感的CSS語法,提升企業的專業形象與簡約舒適的瀏覽體驗,讓瀏覽者第一眼就愛上它。

英國國家海洋學中心領導此次研究的卡茨亞.帕波爾茨亞娃博士(Katsia Pabortsava)表示,通過測量海洋最表層5%範圍深度內的極小型塑膠碎片,她和同事們估算,「整個大西洋的塑膠量」比此次估計的數字要「大得多」。

在新型冠狀病毒全球大流行疫情期間,一些環境保護組織已經報告,可丟棄的口罩現在成為最常見的塑膠丟棄品之一。

海洋
國際新聞
海廢
微塑膠
塑膠微粒
海洋垃圾

本站聲明:網站內容來源環境資訊中心https://e-info.org.tw/,如有侵權,請聯繫我們,我們將及時處理

※綠能、環保無空污,成為電動車最新代名詞,目前市場使用率逐漸普及化

台中景泰電動車行只是一個單純的理由,將來台灣的環境,出門可以自由放心的深呼吸,讓空氣回歸自然的乾淨,減少污染,留給我們下一代有好品質無空污的優質環境

聯發科最新旗艦級 5G 系統單晶片天璣1200 發表,以頂級效能、AI 影像與高品質 5G 連線為主打_網頁設計公司

※自行創業缺乏曝光? 網頁設計幫您第一時間規劃公司的形象門面

網站的第一印象網頁設計,決定了客戶是否繼續瀏覽的意願。台北網動廣告製作的RWD網頁設計,採用精簡與質感的CSS語法,提升企業的專業形象與簡約舒適的瀏覽體驗,讓瀏覽者第一眼就愛上它。

聯發科今日(1/20)以線上發表的方式公布了自家最新一代旗艦級 5G 系統單晶片天璣 1200 與 1100,皆採台積電 5nm 製程,標榜在 5GAI、拍照、影片、遊戲等全方面帶來頂級表現,滿足消費者超快速無線連結體驗,為快速增長的5G全球行動市場注入新動力,終端產品將於今年度陸續問市。

聯發科最新旗艦級 5G 系統單晶片天璣1200 發表,以頂級效能、AI 影像與高品質 5G 連線為主打

天璣 1200 整合聯發科 5G 數據機,測試並通過德國萊因 (TÜV Rheinland) 認證,在 6 大維度、72 個應用場景支援高效 5G 連線,帶給使用者全方位的高品質 5G 體驗。邁入 5G 時代,AI 多媒體成為主流應用,天璣 1200 以強勁的平台效能為基礎,結合自家 AI 多媒體技術,例如三重曝光的單幀逐行 Staggered 4K HDR 影像技術,為使用者帶來更豐富的拍照、影像、直播等多媒體創作方式,以及更精緻的行動視覺享受。

天璣 1200 採用台積電 6 奈米製程,CPU 以 1 + 3 + 4 的旗艦級三叢架構設計,包含 1 個主頻達 3.0GHz 的 Arm Cortex-A78 大核,搭配九核 GPU 和六核聯發科 APU 3.0,以及雙通道 UFS 3.1,一舉大幅提升。所採用的獨立 AI 處理器 APU 3.0,可充分發揮混合精度優勢,靈活運用整數精度與浮點數精度運算,達到更高的 AI 能效;結合 AI 多工調度機制,通過 AI 降噪、AI 曝光、AI 物體追蹤等技術的高度融合,為使用者帶來「疾速夜拍」和「超級全景夜拍」等拍照新體驗。

支援晶片級單幀逐行 Staggered 4K HDR 影像技術,在使用者錄製 4K 影片時,對每格畫面進行 3 次曝光融合處理,讓影片畫質增加 40% 動態範圍,顯著提升色彩、對比度、及細節。同時,結合 HDR10+ 影像編碼技術,完整輸出 Staggered HDR 影音效果,處理過程中影像不經過壓縮還原,保留最佳品質,並可適用於電視、手機、平板等不同終端裝置播放,為消費者帶來驚豔的 HDR 體驗。另外,天璣 1200 支援 AI 多人即時分割,讓使用者輕鬆打造多人背景替換、多路人移除等電影級拍攝特效,加上多景深智慧對焦、AI 串流媒體畫質增強等影像技術,讓 4K 影音創作有更多可能性。

在 5G 方面,可支援獨立 (SA) 和非獨立 (NSA) 組網模式、5G 雙載波聚合 (2CC CA)、動態頻譜共用 (DSS) 等,內建聯發科 5G UltraSave 省電技術,以及 5G SA/NSA 雙模組網下的雙卡 5G 待機、雙卡 VoNR 語音服務等。天璣 1200 不僅支持全球 5G 營運商的 Sub-6GHz 全頻段和大頻寬,還為使用者打造全景全時的 5G 無縫連線體驗,推出「5G 高鐵模式」、「5G 電梯模式」等應用,透過智慧場景感知、訊號的快速捕捉及追蹤、自動偵測並切換網路,讓終端裝置擁有高效且穩定的 5G 性能;結合聯發科 5G UltraSave省電技術,帶來更低功耗的 5G 通訊。

搭載了全新升級的 HyperEngine 3.0 遊戲引擎,再次升級遊戲網路體驗,在 5G 網路連線下可實現遊戲通話雙卡並行,使用者可以在主卡玩手遊的同時接聽副卡來電,遊戲持續不斷線。超級熱點和高鐵遊戲模式則針對不同的遊戲環境進行網路最佳化,有效降低遊戲網路延遲。對於遊戲玩家而言,HyperEngine 3.0 的操控引擎能讓多指操控時的觸控採樣率保持穩定的高幀數,且 HyperEngine 3.0 的智慧負載調控引擎新增遊戲高顯示更新率下省電功能、智慧健康充電、Wi-Fi 6 省電模式,用以平衡效能與功耗,延長續航和電池壽命。

※綠能、環保無空污,成為電動車最新代名詞,目前市場使用率逐漸普及化

台中景泰電動車行只是一個單純的理由,將來台灣的環境,出門可以自由放心的深呼吸,讓空氣回歸自然的乾淨,減少污染,留給我們下一代有好品質無空污的優質環境

聯發科 HyperEngine 佈局圖形關鍵技術光線追蹤(Ray Tracing),為遊戲廠商、開發者、終端提供強大的圖形處理能力,為手遊玩家帶來媲美真實的遊戲畫面,引領行動端圖形技術趨勢。另外,天璣 1200 支援即將發表的藍牙 LE Audio (Bluetooth Low Energy Audio,藍牙低功耗音訊)  標準,擴充至雙鏈路音訊串流,帶來比傳統 TWS 耳機更加穩定及高品質的音訊,並降低 20% 延遲及功耗,延長耳機的續航力。聯發科表示,在 2021 年會從技術端、產品端、品牌端持續創新、投入,持續在全球領域推動 5G 發展與創新,讓天璣系列為 5G 終端市場開創更多可能,為使用者帶來更卓越、更豐富的使用體驗。

 

您也許會喜歡:

【推爆】終身$0月租 打電話只要1元/分

立達合法徵信社-讓您安心的選擇

※如何讓商品強力曝光呢? 網頁設計公司幫您建置最吸引人的網站,提高曝光率!

以設計的實用美學觀點,規劃出舒適、美觀的視覺畫面,有效提昇使用者的心理期待,營造出輕鬆、愉悅的網站瀏覽體驗。

最新 iOS 框架整體梳理(一),Audio Unit 基礎,QuartzCore_網頁設計公司

※如何讓商品強力曝光呢? 網頁設計公司幫您建置最吸引人的網站,提高曝光率!

以設計的實用美學觀點,規劃出舒適、美觀的視覺畫面,有效提昇使用者的心理期待,營造出輕鬆、愉悅的網站瀏覽體驗。

前言

 

      這段話其實是我差不多寫完文章之後再回過頭來寫的,原本在寫文章之前想寫一下寫的初衷的,但當我寫完之後感覺初衷沒有收穫更真切一些。其實到這篇為止總結出來的也就三十多個,有些是比較新的框架,有些是我們開發者一直在使用接觸的框架,我感覺收穫還是很多。 很多東西你要不是一個一直在了解跟進WWDC內容的開發者可能時間一長你就不知道最近都出了些什麼新的框架,但這樣你走一遍之後你就會把許多遺漏掉的東西找回來,我的想法一直都沒有變,作為一個移動端的開發者,不僅要“向下深挖” ,“向上學習”也是最基本的條件,就算你不清楚每一個框架具體的使用細節, 至少你一定要知道框架可以用來干什麼!下面總結出來的框架有些也需要我自己去學習,果然欠了的遲早是要還的

    

Part – 1

 

      下面的框架我們按照我們的圖一個一個的說:

 

                                            

 

1、Accelerate: 一個大規模的數學計算和圖像計算的框架,它的作用和使用推薦下面兩篇文章

    Introduction to the Accelerate Framework in Swift

    官方文檔 Accelerate

2、Accounts: 它是iOS原生提供的一套賬戶管理框架,其支持Facebook,新浪微博,騰訊微博,Twitter和領英賬戶管理的功能。需要注意,在iOS 11 及以上系統中,將此功能已經刪除,因此Accounts.framework實際上已經沒有太大的意義,其只在iOS 11之前的系統上可用!所以這裏我們就不在仔細說它了,簡單的提一下就好。

3、AddressBook、AddressBookUI   通訊錄相關的框架,我們獲取聯繫人通訊錄先關的都是咋這兩個框架裏面。 

     AddressBook、AddressBookUI 使用

     AddressBook 官方文檔

     AddressBookUI 官方文檔

4、AdSupport

     AdSupport 從字面意思上理解是用來進行廣告支持,這個框架十分簡單,裏面只有一個類,類中只有一個方法和兩個屬性。

     AdSupport 的唯一用途是用來獲取設備唯一的一個廣告標識符。可以使用此標識符用來標記用戶是否來源於某個廣告推廣,設備重啟,重裝應用程序都不會使廣告標識符修改。

5、ARKit

     ARKit 這個我就不用多說了,它是做什麼的相信每個iOS開發者度清楚,它具體的使用以及學習大家可以上網去搜索,一大把資料的,也正是因為龐大,官網的說明反而很簡單的幾句話。

6、AssetsLibrary

    The Assets Library framework is deprecated as of iOS 9.0. Instead, use the PhotoKit framework, which in iOS 8.0 and later provides more features and better performance for working with a user’s photo library. 

    上面這句話就總結了這可框架了,具體的內容就不在介紹了,關注的點應該轉移到 PhotoKit 框架!

7、AudioToolbox、AudioUnit

    AudioToolbox 是專門處理聲音的一個框架,AudioToolbox 這個庫是C的接口,偏向於底層,用於在線流媒體音樂的播放。AudioUnit 其實是最底層的,我們在使用的像 AVFoundation,Media Player ,AudioToolbox 等都是基於AudioUnit進行的封裝。

 

      具體的可以參考這篇文章:Audio Unit 基礎

8、AuthenticationServices: 一個讓用戶輕鬆登錄應用程序和服務的框架,我們在iOS13基礎上添加的蘋果登錄就是出自這個框架。 在官方文檔介紹它的功能點時候是這麼說的:

    1. 允許用戶從應用程序的登錄流中查找存儲的密碼。

    2. 在應用程序和web瀏覽器之間共享數據,使用OAuth等技術來利用應用程序中現有的基於web的登錄。

    3. 在企業應用程序中創建單點登錄(SSO)體驗。

    4. 簡單明了的註冊和登錄流程減少了用戶記住密碼

    官方文檔 AuthenticationServices

9、AVFoundation  AVKit 

     AVFoundation 這個框架我在以前做過一個專題專門有說過它,這裏也就不再多做介紹了。需要的可以翻一下我以前的博客。 AVKit框架基於AVFoundation框架,提供了一個用於播放視頻內容的高級界面,創建用於媒體播放的視圖級服務。主要包含兩個類:AVPictureInPictureController 、 AVPlayViewController  兩個類。

     關於AVKit 這裡有一個大概的介紹:  AVKit框架

      AVKit的官方文檔

10、BackgroundTasks         這個框架相信單從字面意思就能大致了解到它是作什麼的,這裏我們就不在具體的闡述它裏面的內容,可以看這兩文章對它有一個具體的了解  iOS 後台任務 BackgroundTask – 簡書

11、BusinessChat

      BusinessChat是iOS11.3后引入的新框架,這個框架配合iMessage應用將商家與用戶更加緊密的結合起來,並且為商家提供了另外一種非常方便的客服系統。關於它的資料我找到的還真的不是特別多,但官方對這一塊介紹的比較詳細。

      iOS開發之BusinessChat框架使用 這篇文章有介紹它的一個大致的使用 

      官方的介紹

12、CallKit

      它是一個很有意思的框架,它是蘋果 iOS 10 新發布的一個的框架。CallKit 框架能讓我們把 自己APP語音或視訊電話的UI 界面整合在 iPhone 原生的電話 App 中。下面是官方文檔對它的一個概述:

      CallKit允許您將您的呼叫服務與系統上其他與呼叫相關的應用程序集成在一起。CallKit提供調用接口,您可以使用VoIP服務處理後端通信。對於呼入和呼出的電話,CallKit显示與電話應用程序相同的界面,使您的應用程序具有更本機的外觀和感覺。CallKit會對系統級的行為做出適當的響應,比如不進行干擾。除了處理呼叫之外,您還可以提供一個呼叫目錄應用程序擴展,以提供來電显示信息和與您的服務相關的被阻止的號碼列表。

      但在大陸地區CallKit是受限制的,具體的信息可以上網了解。下面的這些文章內容能幫助我們了解這個框架:

      iOS10–CallKit的簡單應用

      iOS Call Kit for VOIP

      官方文檔

13、CarPlay

      CarPlay 是一個手機車機互聯繫統,可以把iPhone上的地圖、音樂、電話等功能映射到車載屏幕上使用。這句話概括了這個框架是用來干什麼的。

      iOS應用接入CarPlay初探

14、CFNetwork

      CFNetwork 這個框架還是有必要了解一下的,我們經常使用到的API的請求基本都是NSURL的,CFNetwork是一個比較底層的框架,C語言編寫的,NSURL也肯定就沒有CFNetwork那麼定製性更好了,官方文檔對它的描述是 訪問網絡服務並處理網絡配置中的更改。基於網絡協議的抽象來簡化任務,例如使用BSD套接字、管理HTTP和FTP服務器以及管理Bonjour服務。我的建議是要是對網絡處理這塊有想更好的一個了解的話有必要看安這個框架的使用以及它裏面具體的東西,畢竟它很接近 Socket 。

       CFNetwork的介紹和使用  

       官方文檔

15、ClassKit 

      這也是一個新的框架,在11.4中加入的,也很有趣,但關於它的資料我找到的也很少,但通過官方的介紹你也能了解到一些信息,官方介紹的也比較詳細。

      官方文檔

16、CloudKit

      這個框架我們首先能聯想到肯定是 iCloud了,的確這個框架也是專門用來給它服務的,每當我們看到一個新框架的時候我們腦袋裡想的肯定是這框架是用來干什麼的,具體我們該怎樣使用它。

      iOS CloudKit的使用  這篇文章也就了兩個問題,它是什麼,它是用來幹嘛的。

※綠能、環保無空污,成為電動車最新代名詞,目前市場使用率逐漸普及化

台中景泰電動車行只是一個單純的理由,將來台灣的環境,出門可以自由放心的深呼吸,讓空氣回歸自然的乾淨,減少污染,留給我們下一代有好品質無空污的優質環境

17、Combine

      Combine是Apple在2019年WWDC上推出的一個新框架。該框架提供了一個聲明性的Swift API,用於隨時間處理值。這些值可以表示多種異步事件

      Swift Combine

      Combine框架詳細解析

18、Contacts  ContactsUI

      這兩個框架我相信很多人還是比較熟悉了,以前的很多應用都喜歡獲取用戶的通訊錄,不過現在的APP我感覺在慢慢減少這方面的權限獲取,也可能和人們的生活方式有關吧,慢慢的很多人聯繫也就不再考通訊錄的手機號碼,這兩個框架我們也就不再細緻的介紹了。

19、CoreAudio  CoreAudioKit  CoreAudioTypes

      Core Audio 提供了数字音頻服務為iOS與OS X, 它提供了一系列框架去處理音頻。Core Audio 中也包含我們最常用的前面也有說過的 AudioToolbox和AudioUnit 框架。要具體的說它裏面的內容我們也能寫一本書了。想要大致的了解它和它的使用,下面的文章能做到。

      Core Audio音頻基礎概述

      官方文檔 Core Audio

      官方文檔 Core Audio Types

20、CoreBluetooth

      這個框架也是比較重要的一個框架,在我們的開發中也是經常使用到的一個框架 藍牙

      iOS中的藍牙 CoreBluetooth藍牙系列

      官方文檔

21、CoreData

      這個我就一句話帶過,他就蘋果提供的數據庫,CoreData我以前也有寫過關於它的文章,有需要的也可以往前面翻翻。

22、CoreFoundation

      說到 CoreFoundation 我們就不可避免的的說活 Foundation ,這個框架和Foundation有什麼區別和聯繫,他們之間使用的時候我們需要注意什麼,他們之間的橋接等等這些都是我們需要注意的東西。具體的我們就不在說了,下面的這文章能幫助到我們。這個框架我們還是有必要進行一個具體的了解的!

      提高性能之——Core Foundation

      官方文檔

23、CoreGraphices

      這個按照字面我們能把它接成“圖形核心”,其實它和我們常看到的 QuartzCore、Quartz2D等會很容易混淆,我以前在說Quartz2D的時候有提過關於他們之間的一些基本的區分以及關係,QuartzCore 這裏可以看,然後關於CoreGraphices具體的內容的確也是比較的龐大,需要我們花時間去弄清除。然後我們在這裏也沒法具體的再談了,還是下面的文章幫助我們理解。

      iOS圖像處理之Core Graphics和OpenGL ES小析

      iOS繪圖框架CoreGraphics分析

      CoreGraphic框架解析(一)—— 基本概覽 這篇後續還有具體的使用,這裏就不一一列表,可以通過它找到的。

24、CoreHaptics  [‘hæptiks]

      CoreHaptics 是 iOS13 中的新API,同時只有 iPhone 8 及之後的機型支持。CoreHaptics 提供了更加細膩,可控的震動表達方式,可以令APP產生一種全新的體驗。下面是一些簡單的文章和官方文檔。

      CoreHaptics

      官方文檔

25、CoreImage

      CoreImage 框架是iOS處理圖像的框架,主要用處可以給圖片添加濾鏡效果和圖像識別功能(人臉、條形碼等等)。

      CoreImage和GPUImage的結合使用  這篇文章是一個很好的使用介紹

      Core Image 官方文檔

26、CoreLocation   

      在移動互聯網時代,移動app能解決用戶的很多生活瑣事,比如導航:去任意陌生的地方 周邊:找餐館、找酒店、找銀行、找電影院 。在上述應用中,都用到了地圖和定位功能,在iOS開發中,要想加入這2大功能,必須基於2個框架進行開發 MapKit :用於地圖展示  CoreLocation :用於地理定位。所以CoreLocation和MapKit也是經常在一起使用的,也就是定位和地圖。

       關於CoreLocation定位服務的簡單使用         官方文檔

27、CoreMedia

      它是屬於比較底層的一套音視頻C語言接口,提供對媒體文件操作的底層接口。它的具體的使用我們基礎到的比較多的是基於它的AVFoundation。

      官方文檔

28、CoreMIDI  這個我基本上是不想說了的,因為好像我們基本上都沒什麼使用,而且關於它的資料特別的少,MIDI是一套樂器数字接口,這個框架也是用來連接設備的 像MIDI 鍵盤,有興趣的自己再去了解吧。

29、CoreML

       CoreML 是一個機器學習框架,藉助 Core ML,您可以將已訓練好的機器學習模型,集成到自己的應用當中。

       Core ML介紹 (Apple機器學習框架)

       官方文檔

30、CoreMotion

      Core Motion 可以讓開發者從各個內置傳感器那裡獲取未經修改的傳感數據,並觀測或響應設備各種運動和角度變化。通過這些傳感器可以獲取加速度值,陀螺儀值等。

      iOS CoreMotion的使用

      官方文檔

31、CoreNFC

      NFC(近場通信)就是當兩台硬件設備相距4cm以內時可以實現互相通信 

      iOS11中使用CoreNFC

      官方文檔

32、CoreServices

      Core Services層為所有的應用程序提供基礎系統服務。可能應用程序並不直接使用這些服務,但它們是系統很多部分賴以建構的基礎。這麼去理解的時候就發現其實他是一個很少我們具體需要我們使用的框架,但真的是一個無處不在的框架。

      官方文檔

33、CoreSpotLight  [ˈspɑːtlaɪt]

      這也是一個很有趣的框架,它可以讓你 App 中的內容在 Spolite 中搜索到, 並且將相關的搜索結果展現給用戶, 並且允許用戶和搜索的結果進行交互. 當用戶選擇了其中一個搜索的結果后, 不但可以自動的打開你的應用程序, 同時還可以跳轉到指定的頁面來查看詳細的內容。

      如何使用 Core Spotlight

      官方文檔

 

 

本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理

※自行創業缺乏曝光? 網頁設計幫您第一時間規劃公司的形象門面

網站的第一印象網頁設計,決定了客戶是否繼續瀏覽的意願。台北網動廣告製作的RWD網頁設計,採用精簡與質感的CSS語法,提升企業的專業形象與簡約舒適的瀏覽體驗,讓瀏覽者第一眼就愛上它。

十幾萬預算 如何用最少的錢買到最好的車_網頁設計公司

※自行創業缺乏曝光? 網頁設計幫您第一時間規劃公司的形象門面

網站的第一印象網頁設計,決定了客戶是否繼續瀏覽的意願。台北網動廣告製作的RWD網頁設計,採用精簡與質感的CSS語法,提升企業的專業形象與簡約舒適的瀏覽體驗,讓瀏覽者第一眼就愛上它。

這些都是給大家的參考標準,不一定都要滿足以上條件,畢竟人無完人,車也一樣嘛。下面就介紹幾台實用可靠的家用車,希望供大家一個好的選擇。10萬級別家用車:轎車:卡羅拉、思域、帝豪SUV:繽智、博越、瑞虎720萬級別家用車:轎車:雅閣、君越、博瑞SUV:昂科威、奇駿、途觀。

買車之前得選車,

選車之前得看指標,

指標喜歡但並不一定能下得了手,

※綠能、環保無空污,成為電動車最新代名詞,目前市場使用率逐漸普及化

台中景泰電動車行只是一個單純的理由,將來台灣的環境,出門可以自由放心的深呼吸,讓空氣回歸自然的乾淨,減少污染,留給我們下一代有好品質無空污的優質環境

這不都是錢在作怪嘛!

今天就不拋開錢來說,

說點實際一點的東西,

就是如何用最少的錢買到最好的車,

十幾二十萬的家用車我們該如何選?

這些都是給大家的參考標準,

不一定都要滿足以上條件,

畢竟人無完人,車也一樣嘛!

下面就介紹幾台實用可靠的家用車,

希望供大家一個好的選擇。

10萬級別家用車:

轎車:卡羅拉、思域、帝豪

SUV:繽智、博越、瑞虎7

20萬級別家用車:

轎車:雅閣、君越、博瑞

SUV:昂科威、奇駿、途觀本站聲明:網站內容來源於http://www.auto6s.com/,如有侵權,請聯繫我們,我們將及時處理

※如何讓商品強力曝光呢? 網頁設計公司幫您建置最吸引人的網站,提高曝光率!

以設計的實用美學觀點,規劃出舒適、美觀的視覺畫面,有效提昇使用者的心理期待,營造出輕鬆、愉悅的網站瀏覽體驗。

疫情期網購夯 新加坡民眾愛烘焙與珍奶材料_網頁設計公司

※如何讓商品強力曝光呢? 網頁設計公司幫您建置最吸引人的網站,提高曝光率!

以設計的實用美學觀點,規劃出舒適、美觀的視覺畫面,有效提昇使用者的心理期待,營造出輕鬆、愉悅的網站瀏覽體驗。

摘錄自2020年5月25日中央社報導

為遏止疫情擴散,星國政府自4月7日起實施「阻斷措施」,許多民眾改成在家上班,專賣手搖飲料等店家也都暫時關閉。突如其來的疫情改變了許多民眾的生活習慣。「海峽時報」(The Straits Times)報導,啞鈴、珍奶材料可能是許多人之前不會想購買的商品,但現在都成為熱搜品。

生活必需品、食物、室內運動器材都是現在新加坡熱門網購商品。專家分析,這股網購潮流在防疫措施放寬後仍會持續,很多人也預期,電商在「新常態」生活中將扮演更重要的角色。疫情興起民眾對烹飪的興趣,促使麵粉成為網路搜尋熱門關鍵字。

※自行創業缺乏曝光? 網頁設計幫您第一時間規劃公司的形象門面

網站的第一印象網頁設計,決定了客戶是否繼續瀏覽的意願。台北網動廣告製作的RWD網頁設計,採用精簡與質感的CSS語法,提升企業的專業形象與簡約舒適的瀏覽體驗,讓瀏覽者第一眼就愛上它。

另一方面,疫情期間長時間待在家也激起民眾對「安慰食品」的興趣,珍奶就是其中一項。外送平台Grab在4月收到的珍奶訂單較前一個月大增60%。

除了仰賴外送服務,不少民眾也對珍奶DIY很感興趣,越來越多人上網搜尋食譜,製作珍奶所需要的粉圓材料即是蝦皮的熱門商品之一。隨著在家時間變長,烘焙成為民眾新興的消遣活動,許多烘焙材料店都出現排隊人潮。

生活環境
國際新聞
新加坡
武漢肺炎
疫情
網購食品
疫情下的食衣住行

本站聲明:網站內容來源環境資訊中心https://e-info.org.tw/,如有侵權,請聯繫我們,我們將及時處理

※綠能、環保無空污,成為電動車最新代名詞,目前市場使用率逐漸普及化

台中景泰電動車行只是一個單純的理由,將來台灣的環境,出門可以自由放心的深呼吸,讓空氣回歸自然的乾淨,減少污染,留給我們下一代有好品質無空污的優質環境

【JVM】垃圾回收器總結(2)——七種垃圾回收器類型_網頁設計公司

※如何讓商品強力曝光呢? 網頁設計公司幫您建置最吸引人的網站,提高曝光率!

以設計的實用美學觀點,規劃出舒適、美觀的視覺畫面,有效提昇使用者的心理期待,營造出輕鬆、愉悅的網站瀏覽體驗。

七種垃圾回收器類型

GC的約定參數

DefNew——Default New Generation

Tenured——Serial Old

ParNew——Parallel New Generation

PSYoungGen——Parallel Scavenge

ParOldGen——Parallel Old Generation

適用範圍:只需要掌握Server模式,Client模式基本不會用。

操作系統:32位windows不論硬件如何默認使用Client模式。32位其他OS,2G內存同時2個CPU以上用Server模式,低於該配置是Client模式。64位只有Server模式。

七大垃圾收集器

串行GC:Serial收集器(1:1)

串行收集器是最古老的,最穩定,效率高的收集器,只使用一個線程去回收但其進行垃圾回收過程中可能會產生較長的停頓。雖然在收集垃圾的過程中需要暫停其他的工作線程,但是簡單高效,對於單CPU環境來說,沒有線程交互的開銷可以獲得最高的單線程垃圾收集效率,因此Serial垃圾回收器依然是Java虛擬機運行在Client模式下默認的新生代垃圾回收器。

開啟串行收集器的JVM參數是-XX:+UseSerialGC。

開啟後會使用:Serial(Young區)+ Serial Old(Old區)的收集器組合。表示新生代、老年代都會使用串行回收收集器,新生代用複製算法,老年代用標記整理算法。

顯式激活垃圾回收器:

并行GC:ParNew(N:1)

使用多線程進行垃圾回收,在垃圾回收時,會暫停所有其他工作線程,直到GC結束。

ParNew時Serial收集器新生代的并行多線程版本,最常見的應用場景是配合老年代CMS GC工作,其餘行為和Seria收集器完全一樣,ParNew垃圾收集器在垃圾收集過程中同樣要暫停所有其他的工作線程。它是很多JVM運行在Server模式下新生代的默認垃圾收集器。

開啟串行收集器的JVM參數是-XX:+UseParNewGC。

啟用ParNew收集器,隻影響新生代的收集(新生代GC頻繁),不影響老年代。開啟參數后,會使用ParNew(Young區)+Serial(Old區)的收集器組合。新生代使用複製算法,老年代使用標記整理算法。

ParNew+Tenured(Serial Old)不再推薦使用:

并行回收:Parallel Scavenge(N:N)

Parallel Scavenge收集器類似ParNew,也是一個新生代垃圾收集器,使用複製算法,也是一個并行的多線程的垃圾收集器,俗稱吞吐量優先收集器。相當於是串行收集器在新生代和老年代的并行化。

它重點關注可控制吞吐量,高吞吐量意味着高效利用CPU時間,它多用於在後台運算而不需要太多交互的任務。【吞吐量  = 用戶代碼運行時間/(用戶代碼運行時間+垃圾回收時間)】

※綠能、環保無空污,成為電動車最新代名詞,目前市場使用率逐漸普及化

台中景泰電動車行只是一個單純的理由,將來台灣的環境,出門可以自由放心的深呼吸,讓空氣回歸自然的乾淨,減少污染,留給我們下一代有好品質無空污的優質環境

自適應調節策略也是Parallel Scavenge收集器與ParNew收集器的一個重要區別。自適應調節策略就是JVM會根據當前系統的運行情況看收集性能監控信息,動態調整這些參數以提供最合適的停頓時間(-XX: MaxGCPauseMills)或最大吞吐量。

常用的JVM參數:-XX:+UseParallelGC 或者 +UseParallelOldGC(二者可以互相激活),使用Parallel Scavenge收集器。開啟參數后,新生代用複製算法,老年代用複製標記整理算法。

參數-XX:+ParallelGCThread = K 表示啟動K個GC線程【CPU > 8  K = 5或8 CPU < 8 K = 實際個數】

Parallel Old收集器

Parallel Old收集器是Parallel Scavenge收集器的老年代版本,使用多線程的標記整理算法,在JDK1.6開始提供。

JDK1.6之前,新生代使用Parallel Scavenge收集器只能搭配老年代Serial Old收集器,只能保證新生代的吞吐量優先,無法保證整體的吞吐量。在JDK1.6之前,是Parallel Scavenge+Serial Old。

Parallel Old是為了老年代同樣提供吞吐量優先的垃圾收集器,如果系統對吞吐量要求較高,JDK1.8后優先考慮新生代Parallel Scavenge和老年代 Parallel Old的搭配策列。在JDK1.8及之後,是Parallel Scavenge+Parallel Old。

JVM常用參數:-XX:+UseParallelOldGC使用Parallel Old收集器。和上一個part的截圖是一致的,UseParallelGC和UseParallelOldGC可以互相激活。

併發標記清除GC(CMS)

CMS收集器是一個以獲取最短回收停頓時間為目標的收集器。適合應用在互聯網站或BS系統的服務器上,因為這類場景重視服務器的響應速度,希望系統的停頓時間盡可能短。CMS適合堆內存大、CPU核數多的服務器端應用,也是G1出現之前大型應用的首選收集器。

CMS的優勢是併發收集停頓少,併發是指與用戶線程一起執行。

開啟收集器的JVM參數:-XX:+UseConcMarkSweepGC 開啟後會自動開啟 -XX:+UseParNewGC

併發標記清除收集器的組合:ParNew + CMS + Serial Old(作為CMS出錯的後備收集器,增強健壯性)

CMS內存回收一共有4個過程

  1. 初始標記:只有標記一下GC Roots能直接關聯的對象,速度很快,仍然需要暫停所有的工作線程。
  2. 併發標記:進行GC Roots跟蹤的過程,和用戶線程一起工作,不需要暫停工作線程,主要標記過程,標記全部對象。
  3. 重新標記:修正在併發標記期間,因用戶程序繼續運行而導致標記產生變動的那一部分對象的標記記錄,仍然需要暫停所有的工作線程。由於併發標記時,用戶線程依然運行,因此在正式清理前再做修正。
  4. 併發清除:清除GC Roots不可達對象,和用戶線程一起工作,不需要暫停工作線程。基於標記結果,直接清理對象。由於耗時最長的併發標記和併發清除過程中,垃圾收集線程可以和用戶線程一起併發工作。所以總體上說CMS收集器的內存回收和用戶線程是併發執行的(初始標記和重新標記雖然要暫停,但是用時很短)。

優點:併發收集,停頓次數少。

缺點:對CPU的壓力大,CMS在收集和應用線程會同時增加對堆內存的佔用,也就是i說CMS必須在老年代堆內存用完之前完成GC,否則CMS會回收失敗,將觸發擔保機制,Serial Old會以STW(Stop The World,暫停所有工作線程)的方式進行依次GC,從而造成較大的停頓時間。而且採用標記清除算法會產生內存碎片。

Serial Old收集器

Serial Old收集器是Serial垃圾收集器老年代版本,同樣是單線程的收集器,使用標記整理算法。

主要運行在Client默認的JVM老年代垃圾回收器。

在Server模式下,主要有兩個用途:

  1. 在JDK1.5之前與新生代Parallel Scavenge收集器搭配使用。(Parallel Scavenge+Serial Old)
  2. 作為老年代版中使用CMS收集器的後備垃圾回收方案。

G1垃圾回收器

內容較多,見【JVM】垃圾回收器總結(3)

本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理

※自行創業缺乏曝光? 網頁設計幫您第一時間規劃公司的形象門面

網站的第一印象網頁設計,決定了客戶是否繼續瀏覽的意願。台北網動廣告製作的RWD網頁設計,採用精簡與質感的CSS語法,提升企業的專業形象與簡約舒適的瀏覽體驗,讓瀏覽者第一眼就愛上它。