본문

Payload 개념

도입

이번 포스팅에서는 Payload에 대해 정리할 예정이다.
또한, Android DiffUtil에서 Payload개념과 관련된 코드를 살펴볼 예정이다.


개념

https://en.wikipedia.org/wiki/Payload_(computing)
https://ko.wikipedia.org/wiki/페이로드_(컴퓨팅)

payload는 `실제로 전달하고자 하는 데이터`이다. 한글로 보니 payload의 유례에 대해서도 확인할 수 있다.
지급(pay)해야하는 적화물(load)을 의미 한다.


관련 코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
/**
 * Notify any registered observers that the item at <code>position</code> has changed with
 * an optional payload object.
 *
 * <p>This is an item change event, not a structural change event. It indicates that any
 * reflection of the data at <code>position</code> is out of date and should be updated.
 * The item at <code>position</code> retains the same identity.
 * </p>
 *
 * <p>
 * Client can optionally pass a payload for partial change. These payloads will be merged
 * and may be passed to adapter's {@link #onBindViewHolder(ViewHolder, int, List)} if the
 * item is already represented by a ViewHolder and it will be rebound to the same
 * ViewHolder. A notifyItemRangeChanged() with null payload will clear all existing
 * payloads on that item and prevent future payload until
 * {@link #onBindViewHolder(ViewHolder, int, List)} is called. Adapter should not assume
 * that the payload will always be passed to onBindViewHolder(), e.g. when the view is not
 * attached, the payload will be simply dropped.
 *
 * @param position Position of the item that has changed
 * @param payload Optional parameter, use null to identify a "full" update
 *
 * @see #notifyItemRangeChanged(int, int)
 */
public final void notifyItemChanged(int position, @Nullable Object payload) {
    mObservable.notifyItemRangeChanged(position, 1, payload);
}
cs

payload가 설정되면 `실제로 전달하고자 하는 데이터`만 변경할 수 있는 것을 확인 할 수 있다.


TODO

  1. Andorid payload 실습

 

 

#Payload #페이로드 #DiffUtil

'컴퓨터 > 이론: 개발' 카테고리의 다른 글

DTO vs Entity  (0) 2020.03.15
Stored Procedure 개념  (0) 2020.03.11
E2EE 개념  (0) 2020.03.08
운영체제 - 파일생성에서 실행까지  (0) 2019.05.20
SAM Type, Boilerplate 용어 정리  (0) 2019.05.05

공유

댓글 0