WO2024219801A2 - 전자 장치 및 전자 장치에서 어플리케이션 데이터 파일 삭제 방법 - Google Patents
전자 장치 및 전자 장치에서 어플리케이션 데이터 파일 삭제 방법 Download PDFInfo
- Publication number
- WO2024219801A2 WO2024219801A2 PCT/KR2024/005116 KR2024005116W WO2024219801A2 WO 2024219801 A2 WO2024219801 A2 WO 2024219801A2 KR 2024005116 W KR2024005116 W KR 2024005116W WO 2024219801 A2 WO2024219801 A2 WO 2024219801A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- application
- electronic device
- application data
- data file
- processor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
Definitions
- Various embodiments of the present disclosure relate to an electronic device and a method of operating the same, and more particularly, to a method for deleting an application data file in an electronic device.
- electronic devices include a central processing unit (CPU) and memory, and can execute programs (e.g., application programs) stored in the memory through the central processing unit.
- the central processing unit may include a processor.
- the memory may store data files associated with the application program.
- the processor of the electronic device can execute or process at least one application program (hereinafter also referred to as an 'application').
- the processor of the electronic device can create and/or store in memory a data file (hereinafter also referred to as an 'application data file') associated with the application while executing or processing the application.
- the processor of the electronic device can store the application data file in an application area (e.g., an app-private area) or a shared area (e.g., a shared storage).
- the application area can be a storage area accessible through the application, and the shared area can be a storage area accessible not only to the application but also to other programs (or other applications) other than the application.
- the processor of the electronic device can store the application data file in the application area if the application data file is a data file used only by the application, and can store the application data file in the shared area if the application data file to be stored is a file to be shared.
- the processor of the electronic device can also create the application data file as a hidden file or store it in the shared area with a deep directory path even though the application data file is a data file used only by the application so that the application can use it.
- application data files stored in the shared area are not deleted even after the application is deleted, the application data files stored in the shared area may be hidden or have a deep directory path, making them difficult for users to use and may exist as meaningless data files that only take up storage space.
- an electronic device may include a display, a memory, and a processor operatively connected to the display and the memory.
- the memory may store instructions that, when executed, cause the processor to identify at least one application data file corresponding to a deleted application among data files stored in a shared area of the memory.
- the memory may store instructions that, when executed, cause the processor to delete an application data file of a designated type if an application data file of a designated type exists among the at least one application data file.
- the memory may store instructions that, when executed, cause the processor to display, on the display, information for confirming whether to delete an application data file of a non-designated type if an application data file of a non-designated type exists among the at least one application data file.
- the memory may store instructions that, when executed, cause the processor to delete or maintain an application data file of a non-designated type based on a response to the information.
- a method for deleting an application data file in an electronic device may include an operation of identifying at least one application data file corresponding to a deleted application among data files stored in a shared area of a memory of the electronic device.
- the method according to one embodiment may include an operation of deleting an application data file of a specified type if an application data file of a specified type exists among the at least one application data file.
- the method according to one embodiment may include an operation of displaying information for confirming whether to delete an application data file of a non-specified type on a display of the electronic device if an application data file of a non-specified type exists among the at least one application data file.
- the method according to one embodiment may include an operation of deleting or maintaining an application data file of a non-specified type based on a response to the information.
- a nonvolatile storage medium storing commands
- the commands when executed by an electronic device, are set to cause the electronic device to perform at least one operation
- the at least one operation may include: identifying at least one application data file corresponding to a deleted application among data files stored in a shared area of a memory of the electronic device; deleting an application data file of a specified type if an application data file of the specified type exists among the at least one application data file; displaying information confirming whether to delete an application data file of a type other than the specified type if an application data file of a type other than the specified type exists among the at least one application data file, on a display of the electronic device; and deleting or maintaining the application data file of the type other than the specified type based on a response to the information.
- the application data file that does not exist may be notified to the user and the user may delete the file at his/her option.
- FIG. 1 is a block diagram of an electronic device within a network environment according to one embodiment.
- FIG. 2A is a block diagram of an electronic device according to one embodiment.
- FIG. 2b is a diagram illustrating a storage area of a memory according to one embodiment.
- FIG. 3 is a flowchart illustrating an application data file deletion operation in an electronic device according to one embodiment.
- FIG. 4 is a flowchart illustrating an operation of deleting an application data file when deleting an application in an electronic device according to one embodiment.
- FIG. 5 is a flowchart illustrating an operation of an electronic device deleting an application data file in an idle state according to one embodiment.
- FIG. 6 is a flowchart illustrating an operation of an electronic device deleting an application data file stored in an external electronic device when the external storage device is connected according to one embodiment.
- FIG. 7A is a diagram illustrating information displayed on a display when an application is deleted in an electronic device according to one embodiment.
- FIG. 7b is a diagram showing information for confirming whether an application data file is deleted according to one embodiment.
- FIG. 8A is a diagram illustrating information displayed on a display when an electronic device according to one embodiment of the present invention identifies application data files for an application that has been deleted in an idle state.
- FIG. 10 is a diagram showing information for checking whether to delete an application data file for a deleted application among the data files of the SD card when the SD card is connected to an electronic device according to one embodiment of the present invention.
- FIG. 1 is a block diagram of an electronic device (101) within a network environment (100) according to one embodiment.
- the processor (120) may control at least one other component (e.g., a hardware or software component) of the electronic device (101) connected to the processor (120) by executing, for example, software (e.g., a program (140)), and may perform various data processing or calculations.
- the processor (120) may store a command or data received from another component (e.g., a sensor module (176) or a communication module (190)) in a volatile memory (132), process the command or data stored in the volatile memory (132), and store result data in a non-volatile memory (134).
- the processor (120) may include a main processor (121) (e.g., a central processing unit or an application processor) or an auxiliary processor (123) (e.g., a graphic processing unit, a neural processing unit (NPU), an image signal processor, a sensor hub processor, or a communication processor) that can operate independently or together therewith.
- a main processor (121) e.g., a central processing unit or an application processor
- an auxiliary processor (123) e.g., a graphic processing unit, a neural processing unit (NPU), an image signal processor, a sensor hub processor, or a communication processor
- the secondary processor (123) may be configured to use lower power than the main processor (121) or to be specialized for a given function.
- the secondary processor (123) may be implemented separately from the main processor (121) or as a part thereof.
- the auxiliary processor (123) may control at least a part of functions or states associated with at least one of the components of the electronic device (101) (e.g., the display module (160), the sensor module (176), or the communication module (190)), for example, while the main processor (121) is in an inactive (e.g., sleep) state, or together with the main processor (121) while the main processor (121) is in an active (e.g., application execution) state.
- the auxiliary processor (123) e.g., an image signal processor or a communication processor
- the auxiliary processor (123) may include a hardware structure specialized for processing an artificial intelligence model.
- the artificial intelligence model may be generated through machine learning. Such learning may be performed, for example, in the electronic device (101) itself on which the artificial intelligence model is executed, or may be performed through a separate server (e.g., server (108)).
- the learning algorithm may include, for example, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, but is not limited to the examples described above.
- the artificial intelligence model may include a plurality of artificial neural network layers.
- the artificial neural network may be one of a deep neural network (DNN), a convolutional neural network (CNN), a recurrent neural network (RNN), a restricted Boltzmann machine (RBM), a deep belief network (DBN), a bidirectional recurrent deep neural network (BRDNN), deep Q-networks, or a combination of two or more of the above, but is not limited to the examples described above.
- the artificial intelligence model may additionally or alternatively include a software structure.
- the memory (130) can store various data used by at least one component (e.g., processor (120) or sensor module (176)) of the electronic device (101).
- the data can include, for example, software (e.g., program (140)) and input data or output data for commands related thereto.
- the memory (130) can include volatile memory (132) or nonvolatile memory (134).
- the program (140) may be stored as software in memory (130) and may include, for example, an operating system (142), middleware (144), or an application (146).
- the input module (150) can receive commands or data to be used in a component of the electronic device (101) (e.g., a processor (120)) from an external source (e.g., a user) of the electronic device (101).
- the input module (150) can include, for example, a microphone, a mouse, a keyboard, a key (e.g., a button), or a digital pen (e.g., a stylus pen).
- the audio output module (155) can output an audio signal to the outside of the electronic device (101).
- the audio output module (155) can include, for example, a speaker or a receiver.
- the speaker can be used for general purposes such as multimedia playback or recording playback.
- the receiver can be used to receive an incoming call. According to one embodiment, the receiver can be implemented separately from the speaker or as a part thereof.
- the display module (160) can visually provide information to an external party (e.g., a user) of the electronic device (101).
- the display module (160) can include, for example, a display, a holographic device, or a projector and a control circuit for controlling the device.
- the display module (160) can include a touch sensor configured to detect a touch, or a pressure sensor configured to measure the intensity of a force generated by the touch.
- the audio module (170) can convert sound into an electrical signal, or vice versa, convert an electrical signal into sound. According to one embodiment, the audio module (170) can obtain sound through an input module (150), or output sound through an audio output module (155), or an external electronic device (e.g., an electronic device (102)) (e.g., a speaker or a headphone) directly or wirelessly connected to the electronic device (101).
- an electronic device e.g., an electronic device (102)
- a speaker or a headphone directly or wirelessly connected to the electronic device (101).
- the sensor module (176) can detect an operating state (e.g., power or temperature) of the electronic device (101) or an external environmental state (e.g., user state) and generate an electric signal or data value corresponding to the detected state.
- the sensor module (176) can include, for example, a gesture sensor, a gyro sensor, a barometric pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an IR (infrared) sensor, a biometric sensor, a temperature sensor, a humidity sensor, or an illuminance sensor.
- the interface (177) may support one or more designated protocols that may be used to directly or wirelessly connect the electronic device (101) with an external electronic device (e.g., the electronic device (102)).
- the interface (177) may include, for example, a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, an SD card interface, or an audio interface.
- HDMI high definition multimedia interface
- USB universal serial bus
- SD card interface Secure Digital Card
- connection terminal (178) may include a connector through which the electronic device (101) may be physically connected to an external electronic device (e.g., the electronic device (102)).
- the connection terminal (178) may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (e.g., a headphone connector).
- the haptic module (179) can convert an electrical signal into a mechanical stimulus (e.g., vibration or movement) or an electrical stimulus that a user can perceive through a tactile or kinesthetic sense.
- the haptic module (179) can include, for example, a motor, a piezoelectric element, or an electrical stimulation device.
- the battery (189) can power at least one component of the electronic device (101).
- the battery (189) can include, for example, a non-rechargeable primary battery, a rechargeable secondary battery, or a fuel cell.
- the communication module (190) may support establishment of a direct (e.g., wired) communication channel or a wireless communication channel between the electronic device (101) and an external electronic device (e.g., the electronic device (102), the electronic device (104), or the server (108)), and performance of communication through the established communication channel.
- the communication module (190) may operate independently from the processor (120) (e.g., the application processor) and may include one or more communication processors that support direct (e.g., wired) communication or wireless communication.
- the communication module (190) may include a wireless communication module (192) (e.g., a cellular communication module, a short-range wireless communication module, or a GNSS (global navigation satellite system) communication module) or a wired communication module (194) (e.g., a local area network (LAN) communication module, or a power line communication module).
- a wireless communication module (192) e.g., a cellular communication module, a short-range wireless communication module, or a GNSS (global navigation satellite system) communication module
- a wired communication module (194) e.g., a local area network (LAN) communication module, or a power line communication module.
- a corresponding communication module may communicate with an external electronic device (104) via a first network (198) (e.g., a short-range communication network such as Bluetooth, wireless fidelity (WiFi) direct, or infrared data association (IrDA)) or a second network (199) (e.g., a long-range communication network such as a legacy cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (e.g., a LAN or WAN)).
- a first network (198) e.g., a short-range communication network such as Bluetooth, wireless fidelity (WiFi) direct, or infrared data association (IrDA)
- a second network (199) e.g., a long-range communication network such as a legacy cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (e.g., a LAN or WAN)
- a computer network e.g.,
- the wireless communication module (192) may use subscriber information (e.g., international mobile subscriber identity (IMSI)) stored in the subscriber identification module (196) to identify or authenticate the electronic device (101) within a communication network such as the first network (198) or the second network (199).
- subscriber information e.g., international mobile subscriber identity (IMSI)
- IMSI international mobile subscriber identity
- the wireless communication module (192) can support a 5G network and next-generation communication technology after a 4G network, for example, NR access technology (new radio access technology).
- the NR access technology can support high-speed transmission of high-capacity data (eMBB (enhanced mobile broadband)), terminal power minimization and connection of multiple terminals (mMTC (massive machine type communications)), or high reliability and low latency (URLLC (ultra-reliable and low-latency communications)).
- eMBB enhanced mobile broadband
- mMTC massive machine type communications
- URLLC ultra-reliable and low-latency communications
- the wireless communication module (192) can support, for example, a high-frequency band (e.g., mmWave band) to achieve a high data transmission rate.
- a high-frequency band e.g., mmWave band
- the wireless communication module (192) may support various technologies for securing performance in a high-frequency band, such as beamforming, massive multiple-input and multiple-output (MIMO), full dimensional MIMO (FD-MIMO), array antenna, analog beam-forming, or large scale antenna.
- the wireless communication module (192) may support various requirements specified in an electronic device (101), an external electronic device (e.g., an electronic device (104)), or a network system (e.g., a second network (199)).
- the wireless communication module (192) may support a peak data rate (e.g., 20 Gbps or more) for eMBB realization, a loss coverage (e.g., 164 dB or less) for mMTC realization, or a U-plane latency (e.g., 0.5 ms or less for downlink (DL) and uplink (UL) each, or 1 ms or less for round trip) for URLLC realization.
- a peak data rate e.g., 20 Gbps or more
- a loss coverage e.g., 164 dB or less
- U-plane latency e.g., 0.5 ms or less for downlink (DL) and uplink (UL) each, or 1 ms or less for round trip
- the antenna module (197) can transmit or receive signals or power to or from the outside (e.g., an external electronic device).
- the antenna module (197) may include an antenna including a radiator formed of a conductor or a conductive pattern formed on a substrate (e.g., a PCB).
- the antenna module (197) may include a plurality of antennas (e.g., an array antenna).
- at least one antenna suitable for a communication method used in a communication network, such as the first network (198) or the second network (199) may be selected from the plurality of antennas by, for example, the communication module (190).
- a signal or power may be transmitted or received between the communication module (190) and the external electronic device through the selected at least one antenna.
- another component e.g., a radio frequency integrated circuit (RFIC)
- RFIC radio frequency integrated circuit
- the antenna module (197) can form a mmWave antenna module.
- the mmWave antenna module can include a printed circuit board, an RFIC positioned on or adjacent a first side (e.g., a bottom side) of the printed circuit board and capable of supporting a designated high frequency band (e.g., a mmWave band), and a plurality of antennas (e.g., an array antenna) positioned on or adjacent a second side (e.g., a top side or a side) of the printed circuit board and capable of transmitting or receiving signals in the designated high frequency band.
- a first side e.g., a bottom side
- a plurality of antennas e.g., an array antenna
- At least some of the above components may be connected to each other and exchange signals (e.g., commands or data) with each other via a communication method between peripheral devices (e.g., a bus, GPIO (general purpose input and output), SPI (serial peripheral interface), or MIPI (mobile industry processor interface)).
- peripheral devices e.g., a bus, GPIO (general purpose input and output), SPI (serial peripheral interface), or MIPI (mobile industry processor interface)).
- a command or data may be transmitted or received between the electronic device (101) and an external electronic device (104) via a server (108) connected to a second network (199).
- Each of the external electronic devices (102 or 104) may be the same or a different type of device as the electronic device (101).
- all or part of the operations executed in the electronic device (101) may be executed in one or more of the external electronic devices (102, 104, or 108). For example, when the electronic device (101) is to perform a certain function or service automatically or in response to a request from a user or another device, the electronic device (101) may, instead of executing the function or service by itself or in addition, request one or more external electronic devices to perform at least a part of the function or service.
- One or more external electronic devices that have received the request may execute at least a part of the requested function or service, or an additional function or service related to the request, and transmit the result of the execution to the electronic device (101).
- the electronic device (101) may provide the result, as is or additionally processed, as at least a part of a response to the request.
- cloud computing, distributed computing, mobile edge computing (MEC), or client-server computing technology may be used, for example.
- the electronic device (101) may provide an ultra-low latency service by using distributed computing or mobile edge computing, for example.
- the external electronic device (104) may include an IoT (Internet of Things) device.
- the server (108) may be an intelligent server using machine learning and/or a neural network.
- the external electronic device (104) or the server (108) may be included in the second network (199).
- the electronic device (101) can be applied to intelligent services (e.g., smart home, smart city, smart car, or healthcare) based on 5G communication technology and IoT-related technology.
- FIG. 2A is a block diagram of an electronic device according to one embodiment.
- an electronic device (201) according to an embodiment may include a processor (220), a memory (230), a display (260), and/or a communication circuit (290).
- the electronic device (201) according to an embodiment is not limited thereto and may be configured to further include various components or to exclude some of the components.
- the electronic device (201) according to an embodiment may further include all or part of the electronic device (101) illustrated in FIG. 1.
- a processor (220) may include an application processor (AP) and/or a central processing unit (CPU).
- the processor (220) may generate and/or obtain a data file (hereinafter, also referred to as an 'application data file') associated with an application when executing, processing, or installing an application, and store the data file in the memory (230).
- the processor (220) may store the application data file in an application area (e.g., app-private area) or a shared area (e.g., shared storage).
- the application area may be a storage area accessible through the application, and the shared area may be a storage area that may be shared not only by the application but also by other programs (or other applications) other than the application.
- the processor (220) may store an application data file designated to be stored in the application area in the application area, and may store an application data file not designated to be stored in the application area in the shared area.
- the processor (220) may store file owner (or application data file creator or application name that created the application data file) information corresponding to each of at least one application data file stored in a shared area of the memory (230).
- the processor (220) may store an owner package name (owner_package_name) as file owner information corresponding to an application data file stored in a shared area of the memory (230) in a database using a designated program (or a program that manages access to the shared area) (e.g., a media provider).
- owner_package_name an owner package name
- a designated program or a program that manages access to the shared area
- a processor (220) may call a Method of a media provider in a file system when generating an application data file at the request of an application.
- the processor (220) may store an owner package name (owner_package_name) as file owner information corresponding to the application data file being generated in a database using the Method of the media provider. If the application has a bypass (or skip) right for storing information of the application data file, the processor (220) may perform a scan request for a shared area (234) to the media provider after completing storing the application data file, and according to the scan result for the shared area (234), file information for the application data file stored in the stored shared area (234) in the database may be stored without the file owner information.
- a database may include information such as Table 1 below as file information for each data file stored in a shared area.
- the processor (220) may store file information for each of all data files stored in the shared area, and the file information for each of the data files stored in the shared area may include application file information corresponding to the application data file.
- the application data file information may include an ID (_id) of the application data file, a storage path (or directory) and name (_data) of the application data file, a size (_size) of the application data file, a storage date (data_added) of the application data file, and an owner package name (owner_package_name) of the application data file may or may not be included.
- the processor (220) may perform a shared area scan request based on application identification information (e.g., uid or package name of the application) to the mediaprovider when it is impossible to acquire application file information corresponding to an application data file stored in a shared area or when the owner package name (owner_package_name) of the application data file stored in the shared area does not exist (is null).
- the processor (220) may store application identification information (e.g., uid or package name of the application) in the owner package name (owner_package_name) of the application data file based on the shared area scan result of the media provider by the shared area scan request.
- the processor (220) when the processor (220) stores an application data file in a shared area, if the file owner information is not stored, the processor (220) may perform a shared area scan upon reboot and store application identification information (e.g., the uid or package name of the application) in the owner package name (owner_package_name) of the application data file in the database based on the scan result.
- application identification information e.g., the uid or package name of the application
- owner_package_name owner package name
- the processor (220) may use a separate file owner information database instead of using a database using a program (e.g., media provider) that manages access to a shared area of the memory (230).
- the processor (220) may store the id and file owner information of an application data file in the file owner information database.
- the processor (220) may store the id and file owner information (e.g., application name) of an application in the file owner information database through a command (e.g., ACTION_PACKAGE_ADDED intent) when installing (or storing) an application.
- the processor (220) may store (or insert) the same id (and/or file owner information) as the id stored in the file owner information database when creating an application data file into metadata of the application data file.
- the processor (220) can identify at least one application data file corresponding to a deleted application by using file owner information corresponding to each of at least one application data file stored in a shared area of the memory (230).
- the processor (220) may obtain first application identification information corresponding to the first application when deleting the first application (or after deleting it) and identify at least one application data file corresponding to the first file owner information that is identical to the first application identification information among file owner information corresponding to at least one application data file stored in the shared area.
- the processor (220) may store an application deletion history including application identification information of an application that was installed in the electronic device (201) and then deleted. According to one embodiment, the processor (220) may add the first application identification information to the application deletion history when deleting (or after deleting) the first application. According to one embodiment, the processor (220) may identify at least one application data file corresponding to the first file owner information that is identical to the first application identification information included in the application deletion history among the file owner information corresponding to at least one application data file stored in the shared area.
- the processor (220) may identify an application existing (or installed) in the electronic device (201) using a designated program (e.g., a package manager of Android) when a designated condition is satisfied or at designated time intervals in an idle state, and may identify at least one application data file corresponding to an application that does not exist (or is not installed or deleted) among data files stored in a shared area using a database.
- a designated program e.g., a package manager of Android
- the processor (220) may identify an application existing (or installed) in the electronic device (201) and read the application deletion history when a specified condition is satisfied in an idle state or at specified time intervals.
- the processor (220) may identify at least one application data file corresponding to the application identification information that is not existing in the electronic device (201) and has been deleted among data files stored in a shared area by using the application identification information of the application existing in the electronic device (201) and the application identification information existing in the application deletion history.
- the idle state may include a sleep state, a state in which there is no user input for a specified period of time or a state in a low power mode.
- a state satisfying a specified condition in the idle state may include a state in which the electronic device is being charged in the idle state and the user does not use the electronic device for a specified period of time (e.g., 75 minutes) or longer.
- the processor (220) may generate a trigger when the electronic device is being charged in the idle state and the user does not use the electronic device for a specified period of time (e.g., 75 minutes) or longer.
- the processor (220) may identify at least one application data file corresponding to an application that does not exist (or is not installed or deleted) in the electronic device (201) among the data files stored in the external storage device by using metadata of each of the data files stored in the external storage device.
- an external storage device e.g., an external memory (138) of FIG. 1
- the processor (220) may identify at least one application data file corresponding to an application that does not exist (or is not installed or deleted) in the electronic device (201) among the data files stored in the external storage device by using metadata of each of the data files stored in the external storage device.
- the processor (220) may receive file information for each of the received data files together, and identify at least one application data file corresponding to an application that does not exist in the electronic device (201) (or is not installed or deleted) among the received data files based on the file information.
- the external server may store information on an application that frequently (a specified number of times or more) uses a specific application data file stored in a shared area.
- a processor (220) may identify whether each of at least one application data file corresponding to a deleted application is of a designated type.
- the designated type may include a hidden file type, a file type having a storage path longer than a designated length (or a file type having a deep directory structure), a file type having a designated extension, a type designated to be deleted immediately without deletion confirmation, or a type excluding a file type with high utilization (e.g., image, video, audio, text, or document).
- a processor (220) may delete an application data file from a shared area if the type of the application data file corresponding to the deleted application is a specified type.
- the processor (220) may output information for confirming whether the application data file is deleted if the type of the application data file corresponding to the deleted application is not a designated type. According to an embodiment, the processor (220) may identify an application data file corresponding to (or associated with) the deleted application but is not a designated type. According to an embodiment, the processor (220) may also output information for confirming whether the application data file is deleted for some files that satisfy a designated condition among application data files corresponding to (or associated with) the deleted application but are not a designated type.
- some files that satisfy a designated condition may include application data files received (or provided) via the cloud (e.g., from an external server) or from an external memory, or application data files that have not been accessed by the processor (220) or have been accessed less than a designated number of times.
- a processor (220) may classify a plurality of application files based on a specified condition (e.g., file type (e.g., image, video, audio, text, or document)) or priority when there are multiple application files that are not of a specified type, and output a list of classified application files and information for confirming whether an application data file in the list of classified application files has been deleted.
- a specified condition e.g., file type (e.g., image, video, audio, text, or document)
- priority e.g., image, video, audio, text, or document
- priority e.g., image, video, audio, text, or document
- the processor (220) may display a message for confirming whether an application data file has been deleted through a display (260) or output a sound for confirming whether an application data file has been deleted through a speaker (e.g., an audio output module (155) of FIG. 1).
- the processor (220) can delete or maintain an application data file based on a response on whether to delete the application data file corresponding to the deleted application.
- the processor (220) can delete or maintain an application data file to be deleted based on a user deletion selection input (e.g., touch input or voice input) of the application data file or no user selection input or a non-deletion selection input.
- a user deletion selection input e.g., touch input or voice input
- the memory (230) may provide a storage space for performing operations or storing data in the processor (220).
- the data may include, for example, software (e.g., a program (140) of FIG. 1 (e.g., an operating system (142), a middleware (144), or an application (146))) and input data or output data for commands related thereto.
- the memory (230) may include volatile memory or non-volatile memory.
- the memory (230) may include an application area (e.g., an app-private area), a shared area (e.g., shared storage), and may further include a preference area and/or a database area.
- a display (260) may visually provide information to an outside of the electronic device (201) (e.g., a user).
- the display (260) may display information for confirming whether an application data file has been deleted if the type of an application data file corresponding to a deleted application is not a designated type based on the control of the processor (220).
- a communication circuit (290) may perform communication with an external electronic device (e.g., an external server (or cloud server)) of the electronic device (201).
- the communication circuit (290) may receive an application data file (or application data files) and file information about the application data file from the external electronic device through communication.
- FIG. 2b is a diagram illustrating a storage area of a memory according to one embodiment.
- a memory (230) may include an application area (e.g., an app-private area) (232), a shared area (e.g., a shared area) (234), a preference area (236), and a database area (238).
- an application area e.g., an app-private area
- a shared area e.g., a shared area
- a preference area e.g., a preference area
- database area e.g., a database area
- the application area (232) can store application data files that are only available through the application.
- the processor (220) according to one embodiment can store application data files that are only available through the application among the application data files generated and/or acquired when executing, processing, or installing the application in the application area (232).
- the processor (220) according to one embodiment can delete the application data files stored in the application area (232) based on the deletion (or uninstallation) of the application.
- the shared area (234) may store application data files that can be commonly used by not only the application but also other programs (or other applications) other than the application.
- the processor (220) may store application data files that are commonly used among application data files generated and/or acquired when executing, processing, or installing an application in the shared area (234), or may store application data files received from an external server (e.g., a cloud server) via the communication circuit (290) in the shared area (234).
- the shared area (234) may be a storage area of an external storage device (e.g., an external memory (138) of FIG. 1) (e.g., an SD card) identified by the processor (220) by mounting (or inserting or connecting), and may store at least one application data file corresponding to an application that does not exist in the electronic device (201) (or has not been installed or deleted).
- the processor (220) may identify at least one application data file corresponding to the deleted application by using file owner information corresponding to each of at least one application data file stored in the shared area (234). According to an embodiment, the processor (220) may identify whether the type of each of at least one application data file corresponding to the deleted application is a designated type, and if the type of the application data file corresponding to the deleted application is a designated type, the processor (220) may delete the application data file from the shared area (234).
- the processor (220) may output information for confirming whether the application data file is to be deleted, and may delete or maintain the application data file based on a response (e.g., a user's deletion selection input or a user's non-deletion selection input) for determining whether the application data file corresponding to the deleted application is to be deleted.
- a response e.g., a user's deletion selection input or a user's non-deletion selection input
- the preference area (236) can store application-related key-value pairs.
- the preference area (236) according to one embodiment can store application setting information, such as a basic welcome greeting or text font that should be loaded whenever the application is executed.
- the processor (220) according to one embodiment can use the information stored in the preference area (236) when the application is executed, and can delete information corresponding to the deleted application among the information in the preference area (236) based on the deletion (or uninstallation) of the application.
- the database area (238) may store a database including file information for each of the application data files.
- the processor (220) may store a database including application file information corresponding to an application data file stored in a shared area in the database area (238), and update the database when an application data file is created or deleted.
- the application data file information may include an ID (_id) of the application data file, a storage path (or directory) and name (_data) of the application data file, a size (_size) of the application data file, a storage date (data_added) of the application data file, and an owner package name (owner_package_name) of the application data file.
- An electronic device (e.g., the electronic device (101) of FIG. 1 or the electronic device (201) of FIG. 2A) according to an embodiment may include a display (e.g., the display module (160) of FIG. 1 or the display (260) of FIG. 2), a memory (e.g., the memory (130) of FIG. 1 or the memory (230) of FIG. 2), and a processor (e.g., the processor (120) of FIG. 1 or the processor (220) of FIG. 2)) operatively connected to the display and the memory.
- the memory may store instructions that, when executed, cause the processor to identify at least one application data file corresponding to a deleted application among data files stored in a shared area of the memory.
- the memory may store instructions that, when executed, cause the processor to delete an application data file of a specified type if an application data file of a specified type exists among the at least one application data file.
- the memory may store instructions that, when executed, cause the processor to display, on the display, information for determining whether to delete an application data file that is not of the designated type if an application data file that is not of the designated type exists among the at least one application data file.
- the memory may store instructions that, when executed, cause the processor to delete or maintain an application data file that is not of the designated type based on a response to the information.
- the shared area may be an area accessible by an application of the electronic device and other programs of the electronic device other than the application.
- the above-mentioned specified type may include a hidden type or a type whose storage path length is longer than the specified length.
- the instructions, when executed by the processor, may cause the electronic device to identify at least one application data file corresponding to the deleted application among data files stored in the shared area, using the file owner information.
- the file owner information may include an owner package name or application identification information.
- the instructions according to one embodiment when executed by the processor, may cause the electronic device to obtain application identification information corresponding to the deleted application based on deletion of the application, and to identify at least one application data file corresponding to the deleted application based on the file owner information being identical to the application identification information.
- the instructions according to one embodiment when executed by the processor, may cause the electronic device to obtain application identification information corresponding to the deleted application in an idle state, and to identify at least one application data file corresponding to the deleted application based on the file owner information being identical to the application identification information.
- the instructions according to one embodiment when executed by the processor, may cause the electronic device to obtain application identification information corresponding to the deleted application based on a connection of an external storage device to the electronic device, obtain file owner information of each of the data files stored on the external storage device using metadata of each of the data files, and identify at least one application data file corresponding to the deleted application based on the file owner information being identical to the application identification information.
- the electronic device may further include a communication circuit (e.g., the communication module (190) of FIG. 1 or the communication circuit (290) of FIG. 2).
- the instructions according to one embodiment when executed by the processor, may cause the electronic device to receive the at least one application data file from an external server through the communication circuit and to store the received at least one application data file in the shared area.
- the instructions according to one embodiment when executed by the processor, may cause the electronic device to classify a plurality of application data files based on a specified condition when there are a plurality of application data files that are not of the specified type, and to display a list indicating groups of the classified application data files on the display.
- Instructions according to one embodiment when executed by the processor, may cause the electronic device to display an icon on the display for selecting deletion of at least some of the classified application data file groups.
- FIG. 3 is a flowchart illustrating an application data file deletion operation in an electronic device according to one embodiment.
- a processor (220) e.g., processor (120) of FIG. 1) of an electronic device (201) (e.g., electronic device (101) of FIG. 1) according to one embodiment may perform at least one operation among operations 310 to 360.
- the processor (220) may identify at least one application data file corresponding to a deleted application by using file owner information corresponding to each of at least one application data file stored in the shared area (234).
- the processor (220) may obtain application identification information corresponding to the first application when deleting the first application (or after deleting it) and identify at least one application data file corresponding to the first file owner information that corresponds to or is identical to the application identification information among file owner information corresponding to at least one application data file stored in the shared area.
- the processor (220) may store an application deletion history including application identification information of an application that was installed in the electronic device (201) and then deleted. According to one embodiment, the processor (220) may add the first application identification information to the application deletion history when deleting (or after deleting) the first application. According to one embodiment, the processor (220) may identify at least one application data file corresponding to the first file owner information that is identical to the first application identification information included in the application deletion history among the file owner information corresponding to at least one application data file stored in the shared area.
- the processor (220) may identify an application existing (or installed) in the electronic device (201) by using a designated program (e.g., a package manager of Android) when a specified condition is satisfied in an idle state (e.g., when there is no user input for 24 hours) or at specified time intervals, and may identify at least one application data file corresponding to an application that does not exist (or has not been installed or deleted) among data files stored in a shared area by using a database.
- the processor (220) may identify an application existing (or installed) in the electronic device (201) by using a specified condition or at specified time intervals in an idle state, and may read an application deletion history.
- the processor (220) may identify at least one application data file corresponding to application identification information that does not exist in the electronic device (201) and has been deleted among data files stored in a shared area by using application identification information of an application existing in the electronic device (201) and application identification information existing in the application deletion history.
- the processor (220) may use metadata of each of the data files stored in the external storage device to identify at least one application data file corresponding to an application that does not exist in the electronic device (201) (or is not installed or deleted) among the data files stored in the external storage device.
- an external storage device e.g., an external memory (138) of FIG. 1
- the processor (220) may use metadata of each of the data files stored in the external storage device to identify at least one application data file corresponding to an application that does not exist in the electronic device (201) (or is not installed or deleted) among the data files stored in the external storage device.
- the processor (220) when the processor (220) receives a data file (or data files) from an external server (e.g., a cloud server) through the communication circuit (290), the processor (220) may receive file information on each of the received data files together, and identify at least one application data file corresponding to an application that does not exist in the electronic device (201) (or is not installed or deleted) among the received data files based on the file information.
- an external server e.g., a cloud server
- the processor (220) may receive file information on each of the received data files together, and identify at least one application data file corresponding to an application that does not exist in the electronic device (201) (or is not installed or deleted) among the received data files based on the file information.
- the processor (220) may identify whether each of the at least one application data files corresponding to the deleted application is of a designated type.
- the designated type may include a hidden file type, a file type having a storage path length longer than a designated length (or a file type having a deep directory structure), a file type having a designated extension, a type designated to be deleted immediately without deletion confirmation, or a type excluding a file type with high utilization (e.g., image, video, audio, text, or document).
- the processor (220) may delete an application data file of a specified type from a shared area (234) if the type of the application data file corresponding to the deleted application is a specified type.
- the processor (220) may output information for confirming whether the application data file is deleted if the type of the application data file corresponding to the deleted application is not a designated type.
- the processor (220) may classify a plurality of application files based on designated conditions (e.g., file types (e.g., image, video, audio, text, or document) or priorities) if there are multiple application files that are not a designated type, and output a list of classified application files and information for confirming whether an application data file in the classified application file list is deleted.
- designated conditions e.g., file types (e.g., image, video, audio, text, or document) or priorities
- the processor (220) may display a message for confirming whether the application data file is deleted through the display (260) or output a sound for confirming whether the application data file is deleted through a speaker (e.g., the sound output module (155) of FIG. 1).
- the processor (220) can delete or maintain the application data file based on a response on whether to delete the application data file corresponding to the deleted application.
- the processor (220) can delete or maintain the application data file to be deleted based on a user deletion selection input (e.g., touch input or voice input) or a user non-deletion selection input of the application data file.
- a method for deleting an application data file in an electronic device may include an operation of identifying at least one application data file corresponding to a deleted application among data files stored in a shared area of a memory of the electronic device.
- the method may include an operation of deleting an application data file of a specified type if an application data file of the specified type exists among the at least one application data file.
- the method may include an operation of displaying information for confirming whether to delete an application data file of a type other than the specified type on a display of the electronic device if an application data file of a type other than the specified type exists among the at least one application data file.
- the method may include an operation of deleting or maintaining an application data file of a type other than the specified type based on a response to the information.
- the shared area may be an area accessible by an application of the electronic device and another program of the electronic device other than the application.
- the specified type may include a hidden type or a type whose storage path length is longer than the specified length.
- the method may include an operation of identifying at least one application existing in the electronic device when a specified condition is satisfied, and reading an application deletion history stored in the electronic device.
- the method may include an operation of identifying file owner information corresponding to an application that is not present in the electronic device and has been deleted by using the at least one application existing in the electronic device and the application deletion history.
- the method may include an operation of identifying at least one application data file corresponding to the deleted application among the data files stored in the shared area by using the file owner information.
- the file owner information may include an owner package name or application identification information.
- the method according to one embodiment may include an operation of obtaining application identification information corresponding to the deleted application based on deletion of the application.
- the method according to one embodiment may include an operation of identifying at least one application data file corresponding to the deleted application based on the file owner information and the application identification information being identical.
- the method according to one embodiment may include an operation of obtaining application identification information corresponding to the deleted application in an idle state.
- the method according to one embodiment may include an operation of identifying at least one application data file corresponding to the deleted application based on the file owner information and the application identification information being identical.
- the method according to one embodiment may include an operation of obtaining application identification information corresponding to the deleted application based on a connection of an external storage device to the electronic device.
- the method according to one embodiment may include an operation of obtaining file owner information of each of the data files stored in the external storage device using metadata of each of the data files.
- the method according to one embodiment may include an operation of identifying at least one application data file corresponding to the deleted application based on the file owner information and the application identification information being identical.
- the method according to one embodiment may include an operation of receiving the at least one application data file from an external server via a communication circuit of the electronic device.
- the method according to one embodiment may include an operation of storing the received at least one application data file in the shared area.
- the method according to one embodiment may include an operation of classifying a plurality of application data files based on a specified condition when a plurality of application data files that are not of the specified type exist.
- the method according to one embodiment may include an operation of displaying a list representing the groups of the classified application data files on the display.
- the method according to one embodiment may include an operation of displaying an icon for selecting deletion of at least some of the groups of the classified application data files on the display.
- FIG. 4 is a flowchart illustrating an operation of deleting an application data file when deleting an application in an electronic device according to one embodiment.
- a processor (220) e.g., processor (120) of FIG. 1) of an electronic device (201) (e.g., electronic device (101) of FIG. 1) according to one embodiment may perform at least one of operations 410 to 460.
- the processor (220) may delete an application in response to a request for deleting an application and obtain application identification information corresponding to the deleted application.
- the processor (220) may delete an application in response to a request for deleting an application installed in the electronic device (201) based on a user input or a specified command and obtain application identification information (e.g., id, uid, gid, owner_package_name) corresponding to the deleted application.
- the processor (220) may receive a notification (e.g., ACTION_PACKAGE_REMOVED intent) from a specified program (e.g., mediaprovider or another application) when the application is deleted to identify the deletion of the application.
- a notification e.g., ACTION_PACKAGE_REMOVED intent
- the processor (220) may store application identification information of the deleted application in the application deletion history when the application is deleted. According to one embodiment, the processor (220) may receive a notification from a designated program each time an application is deleted, indicating which application has been deleted. According to one embodiment, the processor (220) may update an application deletion history including application identification information of an application that was installed on the electronic device (201) and then deleted each time an application is deleted.
- the processor (220) may identify at least one application data file corresponding to the deleted application among the data files stored in the shared area (234) by using the file owner information stored in the database.
- the processor (220) may identify at least one application data file having the same owner package name (owner_package_name) as the name of the application deleted from the database as the application data file to be deleted based on the reception of the notification regarding the deleted application.
- the processor (220) may identify whether each of the at least one application data files corresponding to the deleted application is a designated type.
- the designated type may include a hidden file type, a file type having a storage path length longer than a designated length (or a file type having a deep directory structure), a file type having a designated extension, a type designated to be deleted without deletion permission, or a type excluding a file type with high utilization (e.g., image, video, audio, text, or document).
- the processor (220) can (immediately or directly) delete an application data file of a specified type from the shared area (234) if the type of the application data file corresponding to the deleted application is a specified type.
- the processor (220) may output information for confirming whether the application data file is deleted if the type of the application data file corresponding to the deleted application is not a designated type.
- the processor (220) may classify a plurality of application files based on a designated condition (e.g., file type (e.g., image, video, audio, text, or document) or priority) if there are a plurality of application files that are not a designated type, and output a list of classified application files and information for confirming whether an application data file in the classified application file list is deleted.
- a designated condition e.g., file type (e.g., image, video, audio, text, or document) or priority
- the processor (220) may display a message for confirming whether the application data file is deleted through the display (260) or output a sound for confirming whether the application data file is deleted through a speaker (e.g., the sound output module (155) of FIG. 1).
- the processor (220) may delete or maintain the application data file based on a response as to whether to delete the application data file corresponding to the deleted application.
- the processor (220) may delete or maintain the application data file to be deleted based on a user deletion selection input (e.g., touch input or voice input) or a user non-deletion selection input of the application data file.
- the processor (220) may store maintenance information (e.g., is_owner_checked) indicating that the application data file selected to be maintained is the application data file selected to be maintained in the database.
- the processor (220) may not guide to the application data file to be deleted based on the maintenance information.
- the processor (220) may receive and set a non-deletion maintenance period of the application data file to be deleted when non-deletion is selected or set a designated period.
- the processor (220) may delete the target application data file for deletion when the undelete retention period of the target application data file for deletion expires or when a periodic undelete retention period expired file deletion event occurs.
- the processor (220) may output information notifying the target application data file for deletion whose undelete retention period has expired, and may also delete the target application data file for deletion whose undelete retention period has expired based on a user's deletion request input.
- FIG. 5 is a flowchart illustrating an operation of an electronic device deleting an application data file in an idle state according to one embodiment.
- a processor (220) e.g., processor (120) of FIG. 1) of an electronic device (201) (e.g., electronic device (101) of FIG. 1) according to one embodiment may perform at least one of operations 510 to 560.
- the processor (220) may obtain application identification information corresponding to an application deleted in an idle state.
- the processor (220) may use a specified program (e.g., a package manager of Android) to identify applications (e.g., a list of installed applications) existing (or installed) in the electronic device (201) when a specified condition is satisfied in the idle state (e.g., a 24-hour cycle in the idle state, or when there is no user input for a specified time, or when charging or when other conditions are satisfied), and may identify file owner information (e.g., metadata of a file or an owner package name (owner_package_name) of a database) corresponding to an application that does not exist (or is not installed or deleted) among data files stored in the shared area (234).
- a specified program e.g., a package manager of Android
- the processor (220) may identify at least one application (e.g., an installed application list) existing (or installed) in the electronic device (201) by using a designated program when a designated condition is satisfied in an idle state, and may read an application deletion history for at least one application deleted from the electronic device (201).
- the processor (220) may identify file owner information (e.g., metadata of a file or an owner package name (owner_package_name) of a database) corresponding to an application that does not exist among data files stored in a shared area (234) by using application identification information of an application existing in the electronic device (201) and application identification information existing in the application deletion history.
- the processor (220) may identify at least one application data file corresponding to a deleted application among data files stored in the shared area (234) using file owner information.
- the processor (220) may identify whether each of the at least one application data files corresponding to the deleted application is of a designated type.
- the designated type may include a hidden file type, a file type having a storage path length longer than a designated length (or a type of file having a deep directory structure), a file type having a designated extension, a type designated to be deleted without deletion permission, or a type excluding a file type with high utilization (e.g., image, video, audio, text, or document).
- the processor (220) can (immediately or directly) delete an application data file of a specified type from the shared area (234) if the type of the application data file corresponding to the deleted application is a specified type.
- the processor (220) may output information for confirming whether the application data file is deleted when the idle state is released if the type of the application data file corresponding to the deleted application is not a designated type.
- the processor (220) may classify a plurality of application files based on a designated condition (e.g., file type (e.g., image, video, audio, text, or document) or priority) when there are a plurality of application files that are not a designated type, and output a list of classified application files and information for confirming whether the application data file in the classified application file list is deleted.
- a designated condition e.g., file type (e.g., image, video, audio, text, or document) or priority
- the processor (220) may display a message for confirming whether the application data file is deleted through the display (260) when the idle state is released, or output a sound for confirming whether the application data file is deleted through a speaker (e.g., the sound output module (155) of FIG. 1).
- a speaker e.g., the sound output module (155) of FIG. 1.
- the processor (220) may delete or maintain an application data file based on a response on whether to delete an application data file corresponding to a deleted application in a state where an idle state is released.
- the processor (220) may delete or maintain a target application data file without deleting it based on a user deletion selection input (e.g., touch input or voice input) or a user non-deletion selection input of the application data file.
- the processor (220) may update file owner information in a database with a null value for an application data file selected to be maintained, store maintenance information (e.g., is_owner_checked) indicating that the application data file is selected to be maintained, or update the owner information with a null value or insert the maintenance information into a metadata area within the application data file.
- the processor (220) may not provide (or guide) the target application data file for deletion based on the maintenance information.
- FIG. 6 is a flowchart illustrating an operation of an electronic device deleting an application data file stored in an external electronic device when the external storage device is connected according to one embodiment.
- a processor (220) e.g., processor (120) of FIG. 1) of an electronic device (201) (e.g., electronic device (101) of FIG. 1) according to one embodiment may perform at least one of operations 610 to 640.
- the processor (220) may display a message for confirming whether an application data file is deleted through the display (260) or output a sound for confirming whether an application data file is deleted through a speaker (e.g., an audio output module (155) of FIG. 1).
- a speaker e.g., an audio output module (155) of FIG. 1.
- the processor (220) may delete or maintain the application data file based on a response as to whether to delete the application data file corresponding to the deleted application.
- the processor (220) may delete or maintain the application data file to be deleted based on a user deletion selection input (e.g., touch input or voice input) or a user non-deletion selection input of the application data file.
- the processor (220) may update the file owner information in the database with a null value for the application data file selected to be maintained, store maintenance information (e.g., is_owner_checked) indicating that the application data file is selected to be maintained, or update the owner information with a null value or insert the maintenance information into a metadata area in the application data file.
- the processor (220) may not provide (or guide) the application data file to be deleted based on the maintenance information.
- FIG. 7a is a diagram showing information displayed on a display when an application is deleted in an electronic device according to one embodiment
- FIG. 7b is a diagram showing information for confirming whether an application data file is deleted according to one embodiment.
- the processor (220) of an electronic device (201) may display, on a display (260), notification information (710) notifying that there is at least one application data file corresponding to the deleted application among the data files stored in the shared area (234) when an application is deleted.
- the processor (220) may display information (710) notifying that the application created by “test1” is in the shared area, “internal storage.”
- the processor (220) may classify the multiple application data files based on a specified condition (e.g., file type (e.g., image, video, audio, text, or document)) or priority, and display information of the multiple classified application data files together as “image:101, Video: 1054, Audio:22, Texts:21, other files:221”.
- file type e.g., image, video, audio, text, or document
- image:101, Video: 1054, Audio:22, Texts:21, other files:221 may mean that among the multiple application data files, there are 101 image files, 1054 video files, 22 audio files, 21 text files, and 221 other files.
- the processor (220) may further display a notification settings menu (notification settings) for setting notifications and/or a menu (clear) for stopping notification display in addition to the notification information (710).
- the processor (220) may display information (720) for confirming whether to delete an application data file on the display (260) when the notification information (710) for notifying that there is at least one application data file corresponding to a deleted application is selected.
- the information (720) for confirming whether to delete an application data file may include a list of classified application data file groups (722, 724, 726, 728, 729) and a delete icon for selecting to delete each of the classified application data file groups.
- the processor (220) may delete all application data files (e.g., 101 images) corresponding to the first application file group (722) based on a user's input for selecting a delete icon corresponding to the first application data file group (722).
- the processor (220) may display application data files (e.g., 101 images) included in the first application data file group (722) based on a user's input selecting the first application data file group (722) (not shown), and delete a selected application data file (e.g., at least one image selected from the 101 images) among the application data files (e.g., 101 images).
- the processor (220) may also delete all application data files (e.g., 1054 Videos, 22 Audios, 21 Texts, or 221 files) corresponding to an application file group (724, 726, 728, or 729) based on a user's input selecting a delete icon for each of the other application file groups (724, 726, 728, and 729).
- a processor (220) may display application data files (e.g., 1054 Videos, 22 Audios, 21 Texts, or 221 files) included in each application data file group (e.g., 724, 726, 728, or 729) based on a user's input for each of the other application file groups (724, 726, 728, and 729) (not shown).
- a processor (220) may delete a selected application data file (e.g., at least one video file selected from 1054 Videos, at least one audio file selected from 22 Audios, at least one text file selected from 21 Texts, or at least one file selected from 221 files) among the application data files (e.g., 1054 Videos, 22 Audios, 21 Texts, or 221 files).
- FIG. 8a is a diagram showing information displayed on a display when an electronic device according to one embodiment identifies application data files for an application deleted in an idle state
- FIG. 8b is a diagram showing information for confirming whether application data files for a deleted application are deleted according to one embodiment.
- the processor (220) of an electronic device (201) may display, on a display (260), notification information (810) notifying that there is at least one application data file corresponding to a deleted application among the data files stored in the shared area (234) as a result of scanning in an idle state.
- the processor (220) may classify the multiple application data files based on a specified condition (e.g., file type (e.g., image, video, audio, text, or document) or priority) and display information of the multiple classified application data files together as “image: 1021, Video: 222, Audio: 31, Texts:1532, other files:2231.”
- image: 1021, Video: 222, Audio: 31, Texts:1532, other files:2231 may mean that among the multiple application data files, there are 1021 image files, 222 video files, 31 audio files, 1532 text files, and 2231 other files.
- the processor (220) may display a notification setting menu for setting the notification. settings) and/or a menu (clear) to stop displaying notifications.
- the processor (220) may display, on the display (260), information (820) for confirming whether to delete the application data file when the notification information (810) for notifying that there is at least one application data file corresponding to the deleted application is selected.
- the information (820) for confirming whether to delete the application data file may include a list of classified application data file groups (822, 824, 826, 828, 829) and a delete icon that can be selected to delete each of the classified application data file groups.
- the processor (220) may delete all application data files (e.g., 1021 images) corresponding to the first application file group (822) based on a user's input for selecting the delete icon corresponding to the first application data file group (822).
- the processor (220) may display application data files (e.g., 1021 images) included in the first application data file group (822) based on a user's input selecting the first application data file group (822) (not shown), and delete a selected application data file (e.g., at least one image selected from the 1021 images) among the application data files (e.g., 1021 images).
- the processor (220) may also delete all application data files (e.g., 1222 Videos, 31 Audios, 1532 Texts, or 2231 files) corresponding to an application file group (824, 826, 828, or 829) based on a user's input selecting a delete icon for each of the other application file groups (824, 826, 828, and 829).
- all application data files e.g., 1222 Videos, 31 Audios, 1532 Texts, or 2231 files
- the processor (220) may also display application data files (e.g., 222 Videos, 31 Audios, 1532 Texts, or 2231 files) included in each application data file group (e.g., 824, 826, 828, or 829) based on a user's input for each of the other application file groups (824, 826, 828, and 829) (not shown).
- application data files e.g., 222 Videos, 31 Audios, 1532 Texts, or 2231 files
- the processor (220) may delete a selected application data file (e.g., at least one video file selected from 222 Videos, at least one audio file selected from 31 Audios, at least one text file selected from 1532 Texts, or at least one file selected from 2231 files) among the application data files (e.g., 222 Videos, 31 Audios, 1532 Texts, or 2231 files).
- a selected application data file e.g., at least one video file selected from 222 Videos, at least one audio file selected from 31 Audios, at least one text file selected from 1532 Texts, or at least one file selected from 2231 files.
- FIG. 9 is a diagram showing information for confirming whether to delete an application data file for a deleted application among data files acquired from an external device by an electronic device according to one embodiment of the present invention.
- the processor (220) of the electronic device (201) may display information (920) for confirming whether to delete the application data file if there is an application data file for a deleted application among data files acquired from an external device (e.g., an external server or a cloud) on the display (260).
- the information (920) for confirming whether to delete the application data file may include a list of classified application data file groups (922, 924, 926, 928, 929) and a delete icon that can be selected to delete each of the classified application data file groups.
- the processor (220) may delete all application data files (e.g., 1021 images) corresponding to the first application file group (922) based on a user's input selecting a delete icon corresponding to the first application data file group (922).
- a processor (220) may display application data files (e.g., 1021 images) included in a first application data file group (922) based on a user's input selecting a first application data file group (922) (not shown), and delete a selected application data file (e.g., at least one image selected from among the 1021 images) among the application data files (e.g., 1021 images).
- FIG. 10 is a diagram showing information for checking whether to delete an application data file for a deleted application among the data files of the SD card when an SD card (or memory card or external memory) is connected to an electronic device according to one embodiment of the present invention.
- the processor (220) of the electronic device (201) may display information (1020) for confirming whether to delete the application data file if there is an application data file for a deleted application among the data files acquired from the SD card on the display (260).
- the information (1020) for confirming whether to delete the application data file may include a list of classified application data file groups (1022, 1024, 1026, 1028) and a delete icon that can be selected to delete each of the classified application data file groups.
- the processor (220) may delete all application data files (e.g., 1021 images) corresponding to the first application file group (1022) based on a user's input selecting a delete icon corresponding to the first application data file group (1022).
- the processor (220) may display application data files (e.g., 1021 images) included in the first application data file group (1022) based on a user's input selecting the first application data file group (1022) (not shown), and delete a selected application data file (e.g., at least one image selected from the 1021 images) among the application data files (e.g., 1021 images).
- the processor (220) may also delete all application data files (e.g., 222 Videos, 31 Audios, 1532 Texts, or 2231 files) corresponding to an application file group (1024, 1026, 1028, or 1029) based on a user's input selecting a delete icon for each of the other application file groups (1024, 1026, 1028, and 1029).
- all application data files e.g., 222 Videos, 31 Audios, 1532 Texts, or 2231 files
- the processor (220) can also display application data files (e.g., 222 Videos, 31 Audios, 1532 Texts, or 2231 files) included in each application data file group (e.g., 1024, 1026, 1028, or 1029) based on a user's input for each of the other application file groups (1024, 1026, 1028, and 1029) (not shown).
- application data files e.g., 222 Videos, 31 Audios, 1532 Texts, or 2231 files
- the processor (220) can delete a selected application data file (e.g., at least one video file selected from 222 Videos, at least one audio file selected from 31 Audios, at least one text file selected from 1532 Texts, or at least one file selected from 2231 files) among the application data files (e.g., 222 Videos, 31 Audios, 1532 Texts, or 2231 files).
- a selected application data file e.g., at least one video file selected from 222 Videos, at least one audio file selected from 31 Audios, at least one text file selected from 1532 Texts, or at least one file selected from 2231 files.
- Electronic devices may be devices of various forms.
- the electronic devices may include, for example, portable communication devices (e.g., smartphones), computer devices, portable multimedia devices, portable medical devices, cameras, wearable devices, or home appliance devices.
- Electronic devices according to embodiments of the present disclosure are not limited to the above-described devices.
- each of the phrases “A or B,” “at least one of A and B,” “at least one of A or B,” “A, B, or C,” “at least one of A, B, and C,” and “at least one of A, B, or C” can include any one of the items listed together in the corresponding phrase among the phrases, or all possible combinations thereof.
- Terms such as “first”, “second”, or “first” or “second” may be used merely to distinguish one component from another, and do not limit the components in any other respect (e.g., importance or order).
- a component e.g., a first
- another component e.g., a second
- the component can be connected to the other component directly (e.g., wired), wirelessly, or through a third component.
- module may include a unit implemented in hardware, software or firmware, and may be used interchangeably with terms such as logic, logic block, component, or circuit.
- a module may be an integrally configured component or a minimum unit of the component or a part thereof that performs one or more functions.
- a module may be implemented in the form of an application-specific integrated circuit (ASIC).
- ASIC application-specific integrated circuit
- Various embodiments of the present disclosure may be implemented as software (e.g., a program (140)) including one or more commands stored in a storage medium (e.g., an internal memory (136) or an external memory (138)) readable by a machine (e.g., an electronic device (101)).
- a processor e.g., a processor (120)
- the machine e.g., the electronic device (101)
- the one or more commands may include code generated by a compiler or code executable by an interpreter.
- the machine-readable storage medium may be provided in the form of a non-transitory storage medium.
- 'non-transitory' simply means that the storage medium is a tangible device and does not contain signals (e.g. electromagnetic waves), and the term does not distinguish between cases where data is stored semi-permanently or temporarily on the storage medium.
- the method according to the various embodiments disclosed in the present document may be provided as included in a computer program product.
- the computer program product may be traded between a seller and a buyer as a commodity.
- the computer program product may be distributed in the form of a machine-readable storage medium (e.g., a compact disc read only memory (CD-ROM)), or may be distributed online (e.g., downloaded or uploaded) via an application store (e.g., Play StoreTM) or directly between two user devices (e.g., smartphones).
- an application store e.g., Play StoreTM
- at least a part of the computer program product may be temporarily stored or temporarily generated in a machine-readable storage medium, such as a memory of a manufacturer's server, a server of an application store, or an intermediary server.
- each of the components may include a single or multiple entities.
- one or more of the components or operations of the aforementioned components may be omitted, or one or more other components or operations may be added.
- a plurality of components e.g., modules or programs
- the integrated component may perform one or more functions of each of the components of the plurality of components identically or similarly to those performed by the corresponding component of the plurality of components prior to the integration.
- the operations performed by the modules, programs or other components may be executed sequentially, in parallel, repeatedly, or heuristically, or one or more of the operations may be executed in a different order, omitted, or one or more other operations may be added.
- a non-volatile storage medium storing commands
- the commands when executed by an electronic device, are set to cause the electronic device to perform at least one operation
- the at least one operation may include: an operation of identifying at least one application data file corresponding to a deleted application among data files stored in a shared area of a memory of the electronic device; an operation of deleting an application data file of a specified type if an application data file of the specified type exists among the at least one application data file; an operation of displaying information confirming whether to delete an application data file of a type other than the specified type if an application data file of a type other than the specified type exists among the at least one application data file; and an operation of deleting or maintaining an application data file of a type other than the specified type based on a response to the information.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
- Storage Device Security (AREA)
Abstract
본 개시의 다양한 실시 예에 따른 전자 장치는 디스플레이, 메모리, 및 상기 디스플레이, 상기 메모리와 작동적으로 연결된 프로세서를 포함하고, 상기 메모리는, 실행 시에, 상기 프로세서가, 상기 메모리의 공유 영역에 저장된 데이터 파일들 중 삭제된 어플리케이션에 대응된 적어도 하나의 어플리케이션 데이터 파일을 식별하고, 상기 적어도 하나의 어플리케이션 데이터 파일 중 지정된 타입의 어플리케이션 데이터 파일이 존재하는 경우 상기 지정된 타입의 어플리케이션 데이터 파일을 삭제하고, 상기 적어도 하나의 어플리케이션 데이터 파일 중 상기 지정된 타입이 아닌 어플리케이션 데이터 파일이 존재하는 경우 상기 지정된 타입이 아닌 어플리케이션 데이터 파일의 삭제 여부를 확인하는 정보를 상기 디스플레이에 표시하고, 상기 정보에 대한 응답에 기반하여 상기 지정된 타입이 아닌 어플리케이션 데이터 파일을 삭제하거나 유지하도록 설정된 인스트럭션들을 저장할 수 있으며, 다른 실시 예도 가능할 수 있다.
Description
본 개시의 다양한 실시 예들은 전자 장치 및 그 동작 방법에 관한 것으로, 전자 장치에서 어플리케이션 데이터 파일 삭제 방법에 관한 것이다.
정보 통신 기술이 발달하면서 통신 장치 또는 전자 장치에 다양한 기능이 통합되고 있으며, 전자 장치는 중앙처리장치(CPU:central processing unit)와 메모리를 포함하고 중앙처리장치를 통해 메모리에 저장된 프로그램(예: 어플리케이션 프로그램)을 실행할 수 있다. 중앙처리장치는 프로세서를 포함할 수 있다. 메모리는 어플리케이션 프로그램과 연관된 데이터 파일을 저장할 수 있다.
전자 장치의 프로세서는 적어도 하나의 어플리케이션 프로그램(이하 '어플리케이션'이라고도 함)을 실행 또는 처리할 수 있다. 전자 장치의 프로세서는 어플리케이션을 실행 또는 처리하면서 어플리케이션과 연관된 데이터 파일(이하 '어플리케이션 데이터 파일'이라고도 함)을 생성 및/또는 메모리에 저장할 수 있다. 전자 장치의 프로세서는 어플리케이션 데이터 파일을 어플리케이션 영역(예: app-private 영역) 또는 공유 영역(예: shared storage)에 저장할 수 있다. 어플리케이션 영역은 어플리케이션을 통해서 엑세스 가능한 저장 영역일 수 있고, 공유 영역은 어플리케이션뿐만 아니라 어플리케이션 외의 다른 프로그램(또는 다른 어플리케이션)도 엑세스할 수 있는 저장 영역일 수 있다. 예를 들면, 전자 장치의 프로세서는 어플리케이션 데이터 파일이 어플리케이션에 의해서만 이용되는 데이터 파일인 경우 어플리케이션 영역에 저장하고, 저장할 어플리케이션 데이터 파일이 공유할 파일인 경우 공유 영역에 저장할 수 있다. 전자 장치의 프로세서는 어플리케이션 데이터 파일이 어플리케이션에 의해서만 이용되는 데이터 파일임에도 불구하고 어플리케이션 데이터 파일을 숨김 파일로 생성하거나 깊은 구조의 디렉토리 경로를 갖도록 공유 영역에 저장하여 어플리케이션이 이용하도록 할 수도 있다.
전자 장치의 프로세서는 어플리케이션 삭제 요청 시 어플리케이션을 삭제하면서 어플리케이션 데이터를 삭제할 수 있다. 전자 장치의 프로세서는 어플리케이션 데이터 삭제 시 어플리케이션 영역에 저장된 어플리케이션 데이터는 삭제하고, 공유 영역에 저장된 어플리케이션 데이터는 해당 어플리케이션 외에 다른 프로그램(또는 다른 어플리케이션)이 이용할 수도 있기 때문에 삭제하지 않을 수 있다.
어플리케이션이 삭제되었음에도 불구하고 공유 영역에 저장된 어플리케이션 데이터 파일이 삭제되지 않는 경우 공유 영역에 저장된 어플리케이션 데이터 파일은 숨김 상태이거나 깊은 구조의 디렉토리 경로를 가지고 있기 때문에 사용자가 이용하기 어렵고 저장 공간만 차지하는 의미 없는 데이터 파일로 존재할 수 있다.
본 개시의 일 실시 예에 따르면, 전자 장치는 디스플레이, 메모리, 및 상기 디스플레이 및 상기 메모리와 작동적으로 연결된 프로세서를 포함할 수 있다. 일 실시 예에 따른 상기 메모리는, 실행 시에, 상기 프로세서가 상기 메모리의 공유 영역에 저장된 데이터 파일들 중 삭제된 어플리케이션에 대응된 적어도 하나의 어플리케이션 데이터 파일을 식별하도록 하는 인스트럭션들을 저장할 수 있다. 일 실시 예에 따른 상기 메모리는, 실행 시에, 상기 프로세서가 상기 적어도 하나의 어플리케이션 데이터 파일 중 지정된 타입의 어플리케이션 데이터 파일이 존재하는 경우 상기 지정된 타입의 어플리케이션 데이터 파일을 삭제하도록 하는 인스트럭션들을 저장할 수 있다. 일 실시 예에 따른 상기 메모리는, 실행 시에, 상기 프로세서가 상기 적어도 하나의 어플리케이션 데이터 파일 중 상기 지정된 타입이 아닌 어플리케이션 데이터 파일이 존재하는 경우 상기 지정된 타입이 아닌 어플리케이션 데이터 파일의 삭제 여부를 확인하는 정보를 상기 디스플레이에 표시하도록 하는 인스트럭션들을 저장할 수 있다. 일 실시 예에 따른 상기 메모리는, 실행 시에, 상기 프로세서가 상기 정보에 대한 응답에 기반하여 상기 지정된 타입이 아닌 어플리케이션 데이터 파일을 삭제하거나 유지하도록 하는 인스트럭션들을 저장할 수 있다.
본 개시의 일 실시 예에 따르면, 전자 장치에서 어플리케이션 데이터 파일 삭제 방법은 상기 전자 장치의 메모리의 공유 영역에 저장된 데이터 파일들 중 삭제된 어플리케이션에 대응된 적어도 하나의 어플리케이션 데이터 파일을 식별하는 동작을 포함할 수 있다. 일 실시 예에 따른 상기 방법은 상기 적어도 하나의 어플리케이션 데이터 파일 중 지정된 타입의 어플리케이션 데이터 파일이 존재하는 경우 상기 지정된 타입의 어플리케이션 데이터 파일을 삭제하는 동작을 포함할 수 있다. 일 실시 예에 따른 상기 방법은 상기 적어도 하나의 어플리케이션 데이터 파일 중 상기 지정된 타입이 아닌 어플리케이션 데이터 파일이 존재하는 경우 상기 지정된 타입이 아닌 어플리케이션 데이터 파일의 삭제 여부를 확인하는 정보를 상기 전자 장치의 디스플레이에 표시하는 동작을 포함할 수 있다. 일 실시 예에 따른 상기 방법은 상기 정보에 대한 응답에 기반하여 상기 지정된 타입이 아닌 어플리케이션 데이터 파일을 삭제하거나 유지하는 동작을 포함할 수 있다.
본 개시의 일 실시 예에 따르면, 명령들을 저장하고 있는 비휘발성 저장 매체에 있어서, 상기 명령들은 전자 장치에 의하여 실행될 때에 상기 전자 장치로 하여금 적어도 하나의 동작을 수행하도록 설정된 것으로서, 상기 적어도 하나의 동작은 상기 전자 장치의 메모리의 공유 영역에 저장된 데이터 파일들 중 삭제된 어플리케이션에 대응된 적어도 하나의 어플리케이션 데이터 파일을 식별하는 동작, 상기 적어도 하나의 어플리케이션 데이터 파일 중 지정된 타입의 어플리케이션 데이터 파일이 존재하는 경우 상기 지정된 타입의 어플리케이션 데이터 파일을 삭제하는 동작, 상기 적어도 하나의 어플리케이션 데이터 파일 중 상기 지정된 타입이 아닌 어플리케이션 데이터 파일이 존재하는 경우 상기 지정된 타입이 아닌 어플리케이션 데이터 파일의 삭제 여부를 확인하는 정보를 상기 전자 장치의 디스플레이에 표시하는 동작, 및 상기 정보에 대한 응답에 기반하여 상기 지정된 타입이 아닌 어플리케이션 데이터 파일을 삭제하거나 유지하는 동작을 포함할 수 있다.
본 개시의 일 실시 예에 따르면 어플리케이션 삭제 시 공유 영역에 저장된 어플리케이션 데이터 파일을 사용자에게 알리고 사용자의 선택에 따라 삭제할 수 있도록 할 수 있다.
본 개시의 일 실시 예에 따르면 공유 영역에 어플리케이션 데이터에 해당하는 어플리케이션이 존재하지 않는 경우 어플리케이션이 존재하지 않는 어플리케이션 데이터 파일을 사용자에게 알리고 사용자의 선택에 따라 삭제할 수 있도록 할 수 있다.
도 1은 일 실시 예에 따른 네트워크 환경 내의 전자 장치의 블록도이다.
도 2a는 일 실시 예에 따른 전자 장치의 블록도이다.
도 2b는 일 실시 예에 따른 메모리의 저장 영역을 나타낸 도면이다.
도 3은 일 실시 예에 따른 전자 장치에서 어플리케이션 데이터 파일 삭제 동작을 나타낸 흐름도이다.
도 4는 일 실시 예에 따른 전자 장치에서 어플리케이션 삭제 시 어플리케이션 데이터 파일을 삭제하는 동작을 나타낸 흐름도이다.
도 5는 일 실시 예에 따른 전자 장치가 아이들 상태에서 어플리케이션 데이터 파일을 삭제하는 동작을 나타낸 흐름도이다.
도 6은 일 실시 예에 따른 전자 장치가 외부 저장 장치 연결 시 외부 전자 장치에 저장된 어플리케이션 데이터 파일을 삭제하는 동작을 나타낸 흐름도이다.
도 7a는 일 실시 예에 따른 전자 장치에서 어플리케이션 삭제 시 디스플레이에 표시되는 정보를 나타낸 도면이다.
도 7b는 일 실시 예에 따른 어플리케이션 데이터 파일의 삭제 여부를 확인하는 정보를 나타낸 도면이다.
도 8a는 일 실시 예에 따른 전자 장치가 아이들 상태에서 삭제된 어플리케이션에 대한 어플리케이션 데이터 파일들을 식별했을 경우 디스플레이에 표시되는 정보를 나타낸 도면이다.
도 8b는 일 실시 예에 따른 삭제된 어플리케이션에 대한 어플리케이션 데이터 파일의 삭제 여부를 확인하는 정보를 나타낸 도면이다.
도 9는 일 실시 예에 따른 전자 장치가 외부 장치로부터 획득된 데이터 파일 중 삭제된 어플리케이션에 대한 어플리케이션 데이터 파일이 있는 경우 삭제 여부를 확인하는 정보를 나타낸 도면이다.
도 10은 일 실시 예에 따른 전자 장치에 sd 카드 연결 시 sd 카드의 데이터 파일 중 삭제된 어플리케이션에 대한 어플리케이션 데이터 파일이 있는 경우 삭제 여부를 확인하는 정보를 나타낸 도면이다.
도면의 설명과 관련하여, 동일 또는 유사한 구성요소에 대해서는 동일 또는 유사한 참조 부호가 사용될 수 있다.
본 문서에서 사용된 용어들은 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 다른 실시 예의 범위를 한정하려는 의도가 아닐 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명의 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다. 일반적으로 사용되는 사전에 정의된 용어들은 관련 기술의 문맥상 가지는 의미와 동일 또는 유사한 의미를 가지는 것으로 해석될 수 있으며, 본 문서에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. 경우에 따라서, 본 문서에서 정의된 용어일지라도 본 발명의 실시 예들을 배제하도록 해석될 수 없다.
도 1은 일 실시 예에 따른 네트워크 환경(100) 내의 전자 장치(101)의 블록도이다.
도 1을 참조하면, 네트워크 환경(100)에서 전자 장치(101)는 제1 네트워크(198)(예: 근거리 무선 통신 네트워크)를 통하여 전자 장치(102)와 통신하거나, 또는 제 2 네트워크(199)(예: 원거리 무선 통신 네트워크)를 통하여 전자 장치(104) 또는 서버(108) 중 적어도 하나와 통신할 수 있다. 일 실시 예에 따르면, 전자 장치(101)는 서버(108)를 통하여 전자 장치(104)와 통신할 수 있다. 일 실시 예에 따르면, 전자 장치(101)는 프로세서(120), 메모리(130), 입력 모듈(150), 음향 출력 모듈(155), 디스플레이 모듈(160), 오디오 모듈(170), 센서 모듈(176), 인터페이스(177), 연결 단자(178), 햅틱 모듈(179), 카메라 모듈(180), 전력 관리 모듈(188), 배터리(189), 통신 모듈(190), 가입자 식별 모듈(196), 또는 안테나 모듈(197)을 포함할 수 있다. 어떤 실시 예에서는, 전자 장치(101)에는, 이 구성요소들 중 적어도 하나(예: 연결 단자(178))가 생략되거나, 하나 이상의 다른 구성요소가 추가될 수 있다. 어떤 실시 예에서는, 이 구성요소들 중 일부들(예: 센서 모듈(176), 카메라 모듈(180), 또는 안테나 모듈(197))은 하나의 구성요소(예: 디스플레이 모듈(160))로 통합될 수 있다.
프로세서(120)는, 예를 들면, 소프트웨어(예: 프로그램(140))를 실행하여 프로세서(120)에 연결된 전자 장치(101)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)를 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 일 실시 예에 따르면, 데이터 처리 또는 연산의 적어도 일부로서, 프로세서(120)는 다른 구성요소(예: 센서 모듈(176) 또는 통신 모듈(190))로부터 수신된 명령 또는 데이터를 휘발성 메모리(132)에 저장하고, 휘발성 메모리(132)에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 비휘발성 메모리(134)에 저장할 수 있다. 일 실시 예에 따르면, 프로세서(120)는 메인 프로세서(121)(예: 중앙 처리 장치 또는 어플리케이션 프로세서) 또는 이와는 독립적으로 또는 함께 운영 가능한 보조 프로세서(123)(예: 그래픽 처리 장치, 신경망 처리 장치(NPU: neural processing unit), 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 예를 들어, 전자 장치(101)가 메인 프로세서(121) 및 보조 프로세서(123)를 포함하는 경우, 보조 프로세서(123)는 메인 프로세서(121)보다 저전력을 사용하거나, 지정된 기능에 특화되도록 설정될 수 있다. 보조 프로세서(123)는 메인 프로세서(121)와 별개로, 또는 그 일부로서 구현될 수 있다.
보조 프로세서(123)는, 예를 들면, 메인 프로세서(121)가 인액티브(예: 슬립) 상태에 있는 동안 메인 프로세서(121)를 대신하여, 또는 메인 프로세서(121)가 액티브(예: 어플리케이션 실행) 상태에 있는 동안 메인 프로세서(121)와 함께, 전자 장치(101)의 구성요소들 중 적어도 하나의 구성요소(예: 디스플레이 모듈(160), 센서 모듈(176), 또는 통신 모듈(190))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일 실시 예에 따르면, 보조 프로세서(123)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성요소(예: 카메라 모듈(180) 또는 통신 모듈(190))의 일부로서 구현될 수 있다. 일 실시 예에 따르면, 보조 프로세서(123)(예: 신경망 처리 장치)는 인공지능 모델의 처리에 특화된 하드웨어 구조를 포함할 수 있다. 인공지능 모델은 기계 학습을 통해 생성될 수 있다. 이러한 학습은, 예를 들어, 인공지능 모델이 수행되는 전자 장치(101) 자체에서 수행될 수 있고, 별도의 서버(예: 서버(108))를 통해 수행될 수도 있다. 학습 알고리즘은, 예를 들어, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)을 포함할 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은, 복수의 인공 신경망 레이어들을 포함할 수 있다. 인공 신경망은 심층 신경망(DNN: deep neural network), CNN(convolutional neural network), RNN(recurrent neural network), RBM(restricted boltzmann machine), DBN(deep belief network), BRDNN(bidirectional recurrent deep neural network), 심층 Q-네트워크(deep Q-networks) 또는 상기 중 둘 이상의 조합 중 하나일 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은 하드웨어 구조 이외에, 추가적으로 또는 대체적으로, 소프트웨어 구조를 포함할 수 있다.
메모리(130)는, 전자 장치(101)의 적어도 하나의 구성요소(예: 프로세서(120) 또는 센서 모듈(176))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는, 예를 들어, 소프트웨어(예: 프로그램(140)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 메모리(130)는, 휘발성 메모리(132) 또는 비휘발성 메모리(134)를 포함할 수 있다.
프로그램(140)은 메모리(130)에 소프트웨어로서 저장될 수 있으며, 예를 들면, 운영 체제(142), 미들 웨어(144) 또는 어플리케이션(146)을 포함할 수 있다.
입력 모듈(150)은, 전자 장치(101)의 구성요소(예: 프로세서(120))에 사용될 명령 또는 데이터를 전자 장치(101)의 외부(예: 사용자)로부터 수신할 수 있다. 입력 모듈(150)은, 예를 들면, 마이크, 마우스, 키보드, 키(예: 버튼), 또는 디지털 펜(예: 스타일러스 펜)을 포함할 수 있다.
음향 출력 모듈(155)은 음향 신호를 전자 장치(101)의 외부로 출력할 수 있다. 음향 출력 모듈(155)은, 예를 들면, 스피커 또는 리시버를 포함할 수 있다. 스피커는 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용될 수 있다. 리시버는 착신 전화를 수신하기 위해 사용될 수 있다. 일 실시 예에 따르면, 리시버는 스피커와 별개로, 또는 그 일부로서 구현될 수 있다.
디스플레이 모듈(160)은 전자 장치(101)의 외부(예: 사용자)로 정보를 시각적으로 제공할 수 있다. 디스플레이 모듈(160)은, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일 실시 예에 따르면, 디스플레이 모듈(160)은 터치를 감지하도록 설정된 터치 센서, 또는 상기 터치에 의해 발생되는 힘의 세기를 측정하도록 설정된 압력 센서를 포함할 수 있다.
오디오 모듈(170)은 소리를 전기 신호로 변환시키거나, 반대로 전기 신호를 소리로 변환시킬 수 있다. 일 실시 예에 따르면, 오디오 모듈(170)은, 입력 모듈(150)을 통해 소리를 획득하거나, 음향 출력 모듈(155), 또는 전자 장치(101)와 직접 또는 무선으로 연결된 외부 전자 장치(예: 전자 장치(102))(예: 스피커 또는 헤드폰)를 통해 소리를 출력할 수 있다.
센서 모듈(176)은 전자 장치(101)의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태(예: 사용자 상태)를 감지하고, 감지된 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 일 실시 예에 따르면, 센서 모듈(176)은, 예를 들면, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러 센서, IR(infrared) 센서, 생체 센서, 온도 센서, 습도 센서, 또는 조도 센서를 포함할 수 있다.
인터페이스(177)는 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 직접 또는 무선으로 연결되기 위해 사용될 수 있는 하나 이상의 지정된 프로토콜들을 지원할 수 있다. 일 실시 예에 따르면, 인터페이스(177)는, 예를 들면, HDMI(high definition multimedia interface), USB(universal serial bus) 인터페이스, SD카드 인터페이스, 또는 오디오 인터페이스를 포함할 수 있다.
연결 단자(178)는, 그를 통해서 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 물리적으로 연결될 수 있는 커넥터를 포함할 수 있다. 일 실시 예에 따르면, 연결 단자(178)는, 예를 들면, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터)를 포함할 수 있다.
햅틱 모듈(179)은 전기적 신호를 사용자가 촉각 또는 운동 감각을 통해서 인지할 수 있는 기계적인 자극(예: 진동 또는 움직임) 또는 전기적인 자극으로 변환할 수 있다. 일 실시 예에 따르면, 햅틱 모듈(179)은, 예를 들면, 모터, 압전 소자, 또는 전기 자극 장치를 포함할 수 있다.
카메라 모듈(180)은 정지 영상 및 동영상을 촬영할 수 있다. 일 실시 예에 따르면, 카메라 모듈(180)은 하나 이상의 렌즈들, 이미지 센서들, 이미지 시그널 프로세서들, 또는 플래시들을 포함할 수 있다.
전력 관리 모듈(188)은 전자 장치(101)에 공급되는 전력을 관리할 수 있다. 일 실시 예에 따르면, 전력 관리 모듈(188)은, 예를 들면, PMIC(power management integrated circuit)의 적어도 일부로서 구현될 수 있다.
배터리(189)는 전자 장치(101)의 적어도 하나의 구성요소에 전력을 공급할 수 있다. 일 실시 예에 따르면, 배터리(189)는, 예를 들면, 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지를 포함할 수 있다.
통신 모듈(190)은 전자 장치(101)와 외부 전자 장치(예: 전자 장치(102), 전자 장치(104), 또는 서버(108)) 간의 직접(예: 유선) 통신 채널 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(190)은 프로세서(120)(예: 어플리케이션 프로세서)와 독립적으로 운영되고, 직접(예: 유선) 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일 실시 예에 따르면, 통신 모듈(190)은 무선 통신 모듈(192)(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(194)(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함할 수 있다. 이들 통신 모듈 중 해당하는 통신 모듈은 제1 네트워크(198)(예: 블루투스, WiFi(wireless fidelity) direct 또는 IrDA(infrared data association)와 같은 근거리 통신 네트워크) 또는 제 2 네트워크(199)(예: 레거시 셀룰러 네트워크, 5G 네트워크, 차세대 통신 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부의 전자 장치(104)와 통신할 수 있다. 이런 여러 종류의 통신 모듈들은 하나의 구성요소(예: 단일 칩)로 통합되거나, 또는 서로 별도의 복수의 구성요소들(예: 복수 칩들)로 구현될 수 있다. 무선 통신 모듈(192)은 가입자 식별 모듈(196)에 저장된 가입자 정보(예: 국제 모바일 가입자 식별자(IMSI))를 이용하여 제1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크 내에서 전자 장치(101)를 확인 또는 인증할 수 있다.
무선 통신 모듈(192)은 4G 네트워크 이후의 5G 네트워크 및 차세대 통신 기술, 예를 들어, NR 접속 기술(new radio access technology)을 지원할 수 있다. NR 접속 기술은 고용량 데이터의 고속 전송(eMBB(enhanced mobile broadband)), 단말 전력 최소화와 다수 단말의 접속(mMTC(massive machine type communications)), 또는 고신뢰도와 저지연(URLLC(ultra-reliable and low-latency communications))을 지원할 수 있다. 무선 통신 모듈(192)은, 예를 들어, 높은 데이터 전송률 달성을 위해, 고주파 대역(예: mmWave 대역)을 지원할 수 있다. 무선 통신 모듈(192)은 고주파 대역에서의 성능 확보를 위한 다양한 기술들, 예를 들어, 빔포밍(beamforming), 거대 배열 다중 입출력(massive MIMO(multiple-input and multiple-output)), 전차원 다중입출력(FD-MIMO: full dimensional MIMO), 어레이 안테나(array antenna), 아날로그 빔형성(analog beam-forming), 또는 대규모 안테나(large scale antenna)와 같은 기술들을 지원할 수 있다. 무선 통신 모듈(192)은 전자 장치(101), 외부 전자 장치(예: 전자 장치(104)) 또는 네트워크 시스템(예: 제 2 네트워크(199))에 규정되는 다양한 요구사항을 지원할 수 있다. 일 실시 예에 따르면, 무선 통신 모듈(192)은 eMBB 실현을 위한 Peak data rate(예: 20Gbps 이상), mMTC 실현을 위한 손실 Coverage(예: 164dB 이하), 또는 URLLC 실현을 위한 U-plane latency(예: 다운링크(DL) 및 업링크(UL) 각각 0.5ms 이하, 또는 라운드 트립 1ms 이하)를 지원할 수 있다.
안테나 모듈(197)은 신호 또는 전력을 외부(예: 외부의 전자 장치)로 송신하거나 외부로부터 수신할 수 있다. 일 실시 예에 따르면, 안테나 모듈(197)은 서브스트레이트(예: PCB) 위에 형성된 도전체 또는 도전성 패턴으로 이루어진 방사체를 포함하는 안테나를 포함할 수 있다. 일 실시 예에 따르면, 안테나 모듈(197)은 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다. 이런 경우, 제1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크에서 사용되는 통신 방식에 적합한 적어도 하나의 안테나가, 예를 들면, 통신 모듈(190)에 의하여 상기 복수의 안테나들로부터 선택될 수 있다. 신호 또는 전력은 상기 선택된 적어도 하나의 안테나를 통하여 통신 모듈(190)과 외부의 전자 장치 간에 송신되거나 수신될 수 있다. 어떤 실시 예에 따르면, 방사체 이외에 다른 부품(예: RFIC(radio frequency integrated circuit))이 추가로 안테나 모듈(197)의 일부로 형성될 수 있다.
일 실시 예에 따르면, 안테나 모듈(197)은 mmWave 안테나 모듈을 형성할 수 있다. 일 실시 예에 따르면, mmWave 안테나 모듈은 인쇄 회로 기판, 상기 인쇄 회로 기판의 제1 면(예: 아래 면)에 또는 그에 인접하여 배치되고 지정된 고주파 대역(예: mmWave 대역)을 지원할 수 있는 RFIC, 및 상기 인쇄 회로 기판의 제 2 면(예: 윗 면 또는 측 면)에 또는 그에 인접하여 배치되고 상기 지정된 고주파 대역의 신호를 송신 또는 수신할 수 있는 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다.
상기 구성요소들 중 적어도 일부는 주변 기기들간 통신 방식(예: 버스, GPIO(general purpose input and output), SPI(serial peripheral interface), 또는 MIPI(mobile industry processor interface))을 통해 서로 연결되고 신호(예: 명령 또는 데이터)를 상호간에 교환할 수 있다.
일 실시 예에 따르면, 명령 또는 데이터는 제 2 네트워크(199)에 연결된 서버(108)를 통해서 전자 장치(101)와 외부의 전자 장치(104)간에 송신 또는 수신될 수 있다. 외부의 전자 장치(102, 또는 104) 각각은 전자 장치(101)와 동일한 또는 다른 종류의 장치일 수 있다. 일 실시 예에 따르면, 전자 장치(101)에서 실행되는 동작들의 전부 또는 일부는 외부의 전자 장치들(102, 104, 또는 108) 중 하나 이상의 외부의 전자 장치들에서 실행될 수 있다. 예를 들면, 전자 장치(101)가 어떤 기능이나 서비스를 자동으로, 또는 사용자 또는 다른 장치로부터의 요청에 반응하여 수행해야 할 경우에, 전자 장치(101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 하나 이상의 외부의 전자 장치들에게 그 기능 또는 그 서비스의 적어도 일부를 수행하라고 요청할 수 있다. 상기 요청을 수신한 하나 이상의 외부의 전자 장치들은 요청된 기능 또는 서비스의 적어도 일부, 또는 상기 요청과 관련된 추가 기능 또는 서비스를 실행하고, 그 실행의 결과를 전자 장치(101)로 전달할 수 있다. 전자 장치(101)는 상기 결과를, 그대로 또는 추가적으로 처리하여, 상기 요청에 대한 응답의 적어도 일부로서 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 모바일 에지 컴퓨팅(MEC: mobile edge computing), 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다. 전자 장치(101)는, 예를 들어, 분산 컴퓨팅 또는 모바일 에지 컴퓨팅을 이용하여 초저지연 서비스를 제공할 수 있다. 다른 실시 예에 있어서, 외부의 전자 장치(104)는 IoT(internet of things) 기기를 포함할 수 있다. 서버(108)는 기계 학습 및/또는 신경망을 이용한 지능형 서버일 수 있다. 일 실시 예에 따르면, 외부의 전자 장치(104) 또는 서버(108)는 제 2 네트워크(199) 내에 포함될 수 있다. 전자 장치(101)는 5G 통신 기술 및 IoT 관련 기술을 기반으로 지능형 서비스(예: 스마트 홈, 스마트 시티, 스마트 카, 또는 헬스 케어)에 적용될 수 있다.
도 2a는 일 실시 예에 따른 전자 장치의 블록도이다.
도 2a를 참조하면, 일 실시 예에 따른 전자 장치(201)(예: 도 1의 전자 장치(101))는 프로세서(220), 메모리(230), 디스플레이(260), 및/또는 통신 회로(290)를 포함할 수 있다. 일 실시 예에 따른 전자 장치(201)는 이에 한정되지 않고 다양한 구성 요소들을 더 포함하여 구성 또는 상기 구성들 중 일부를 제외하여 구성될 수 있다. 일 실시 예에 따른 전자 장치(201)는 도 1에 도시된 전자 장치(101)의 전부 또는 일부를 더 포함할 수 있다.
일 실시 예에 따른 프로세서(220)(예: 도 1의 프로세서(120))는 AP(application processor) 및/또는 CPU(central processing unit)를 포함할 수 있다. 일 실시 예에 따른 프로세서(220)는 어플리케이션을 실행하거나 또는 처리하거나 설치 시 어플리케이션과 연관된 데이터 파일(이하 '어플리케이션 데이터 파일'이라고도 함)을 생성 및/또는 획득하여 메모리(230)에 저장할 수 있다. 일 실시 예에 따른 프로세서(220)는 어플리케이션 데이터 파일을 어플리케이션 영역(예: app-private 영역) 또는 공유 영역(예: shared storage)에 저장할 수 있다. 어플리케이션 영역은 어플리케이션을 통해서 엑세스 가능한 저장 영역일 수 있고, 공유 영역은 어플리케이션뿐만 아니라 어플리케이션 외의 다른 프로그램(또는 다른 어플리케이션)이 공유할 수 있는 저장 영역일 수 있다. 일 실시 예에 따른 프로세서(220)는 어플리케이션 영역에 저장되도록 지정된 어플리케이션 데이터 파일인 경우 어플리케이션 영역에 저장하고, 어플리케이션 영역에 저장되도록 지정되지 않은 어플리케이션 데이터 파일인 경우 공유 영역에 저장할 수 있다.
일 실시 예에 따른 프로세서(220)는 메모리(230)의 공유 영역에 저장되는 적어도 하나의 어플리케이션 데이터 파일 각각에 대응된 파일 오우너(owner)(또는 어플리케이션 데이터 파일 생성자 또는 어플리케이션 데이터 파일을 생성한 어플리케이션 이름) 정보를 저장할 수 있다.
일 실시 예에 따르면 프로세서(220)는 지정된 프로그램(또는 공유 영역의 엑세스를 관리하는 프로그램)(예: media provider)을 이용하여 메모리(230)의 공유 영역에 저장된 어플리케이션 데이터 파일에 대응된 파일 오우너 정보로서 오우너 패키지 이름(owner_package_name)을 데이터베이스에 저장할 수 있다.
일 실시 예에 따른 프로세서(220)는 어플리케이션에 의한 요청에 따라 어플리케이션 데이터 파일 생성 시 파일 시스템에서 media provider의 Method를 호출할 수 있다. 프로세서(220)는 media provider의 Method를 이용하여 상기 생성중인 어플리케이션 데이터 파일에 대응된 파일 오우너 정보로서 오우너 패키지 이름(owner_package_name)을 데이터베이스에 저장할 수 있다. 프로세서(220)는 상기 어플리케이션이 상기 어플리케이션 데이터 파일의 정보 저장에 대한 바이패스(또는 스킵) 권한이 있으면 어플리케이션 데이터 파일을 저장 완료 후 media provider에 공유 영역(234)에 대한 스캔 요청을 수행하고, 공유 영역(234)에 대한 스캔 결과에 따라 데이터베이스에 상기 저장된 공유 영역(234)에 저장된 어플리케이션 데이터 파일에 대한 파일 정보가 파일 오우너 정보 없이 저장될 수도 있다.
예를 들면, 데이터베이스는 공유 영역에 저장되는 데이터 파일들 각각에 대한 파일 정보로서 하기 표 1과 같은 정보를 포함할 수 있다.
| _id | _data | _size | data_added | owner_package_name | |
| 1000000015 | /storage/emulated/0/music | 3452 | 1660811629 | ||
| 1000000016 | /storage/emulated/0/music/samsung | 3452 | 1660811629 | ||
| 1000000017 | /storage/emulated/0/music/samsung/o.mp3 | 4831104 | 1660811629 | ||
| 1000000018 | /storage/emulated/0/android | 3452 | 1660811629 | ||
| 1000000019 | /storage/emulated/0/android/media | 3452 | 1660811629 | ||
| 1000000020 | /storage/emulated/0/DCIM/camera | ||||
| 1000000021 | /storage/emulated/0/DCIM/camera/1.jpg | 3234891 | 1660812065 | com.sec.android.gallery3d | |
| 1000000022 | /storage/emulated/0/DCIM/camera/2.jpg | 2289485 | 1660812067 | com.sec.android.gallery3d | |
| 1000000023 | /storage/emulated/0/DCIM/camera/3.jpg | 2290622 | 1660812069 | com.sec.android.gallery3d | |
| 1000000024 | /storage/emulated/0/DCIM/camera/4.jpg | 2302100 | 1660812070 | com.sec.android.gallery3d | |
| 1000000025 | /storage/emulated/0/DCIM/camera/5.jpg | 2288267 | 1660812071 | com.sec.android.gallery3d | |
| 1000000026 | /storage/emulated/0/DCIM/camera/6.jpg | 2296927 | 1660812073 | com.sec.android.gallery3d | |
상기 표 1을 참조하면, 일 실시 예에 따르면 프로세서(220)는 공유 영역에 저장되는 모든 데이터 파일들 각각에 대한 파일 정보를 저장할 수 있으며, 공유 영역에 저장되는 데이터 파일들 각각에 대한 파일 정보 중에는 어플리케이션 데이터 파일에 대응된 어플리케이션 파일 정보가 포함될 수 있다. 예를 들면, 어플리케이션 데이터 파일 정보는 어플리케이션 데이터 파일의 ID(_id), 어플리케이션 데이터 파일의 저장 경로(또는 디렉토리) 및 이름(_data), 어플리케이션 데이터 파일의 사이즈(_size), 어플리케이션 데이터 파일의 저장 날짜(data_added)가 포함될 수 있으며, 어플리케이션 데이터 파일의 오우너 패키지 이름(owner_package_name)은 포함되거나 포함되지 않을 수 있다.
일 실시 예에 따르면 프로세서(220)는 공유 영역에 저장된 어플리케이션 데이터 파일에 대응된 어플리케이션 파일 정보의 획득이 불가능 하거나 공유 영역에 저장된 어플리케이션 데이터 파일의 오우너 패키지 이름(owner_package_name)가 존재하지 않는 경우(null인 경우) mediaprovider에 어플리케이션 식별 정보(예: 어플리케이션의 uid 또는 패키지 이름)을 기반으로 하는 공유 영역 스캔 요청을 수행할 수 있다. 프로세서(220)는 공유 영역 스캔 요청에 의한 media provider의 공유 영역 스캔 결과에 기반하여 어플리케이션 데이터 파일의 오우너 패키지 이름(owner_package_name)에 어플리케이션 식별정보(예: 어플리케이션의 uid 또는 패키지 이름)를 저장할 수 있다.
일 실시 예에 따르면 프로세서(220)는 공유 영역에 어플리케이션 데이터 파일 저장 시 파일 오우너 정보가 저장되지 않은 경우 재부팅 시 공유 영역 스캔을 수행하고, 스캔 결과에 기반하여 데이터베이스의 어플리케이션 데이터 파일의 오우너 패키지 이름(owner_package_name)에 어플리케이션 식별 정보(예: 어플리케이션의 uid 또는 패키지 이름)을 저장할 수 있다.
일 실시 예에 따르면 프로세서(220)는 메모리(230)의 공유 영역의 엑세스를 관리하는 프로그램(예: media provider)을 이용한 데이터베이스를 이용하지 않고 별도의 파일 오우너 정보 데이터베이스를 이용할 수 있다. 일 실 시예에 따르면 프로세서(220)는 파일 오우너 정보 데이터베이스에 어플리케이션 데이터 파일의 id와 파일 오우너 정보를 저장할 수 있다. 일 실시 예에 따르면 프로세서(220)는 어플리케이션 설치(또는 저장) 시 명령(예: ACTION_PACKAGE_ADDED intent)을 통해 어플리케이션의 id와 파일 오우너 정보(예: 어플리케이션 이름)를 파일 오우너 정보 데이터베이스에 저장할 수 있다. 일 실시 예에 따른 프로세서(220)는 어플리케이션 데이터 파일 생성 시 파일 오우너 정보 데이터베이스에 저장한 id와 동일한 id(및/또는 파일 오우너 정보)를 어플리케이션 데이터 파일의 메타 데이터(metadata)에 저장(또는 삽입)할 수 있다.
일 실시 예에 따르면 프로세서(220)는 리눅스 시스템을 이용하는 경우 어플리케이션 프로그램 또는 프로세스(process)의 이름 및/또는 식별 정보(예: 경로(path), gid 및/또는 uid)를 데이터베이스에 저장하고, 어플리케이션 프로그램에 의해 생성 및/또는 저장된 어플리케이션 데이터 파일의 경로(path), gid 및/또는 uid를 파일 오우너 정보로서 저장할 수 있다.
일 실시 예에 따른 프로세서(220)는 메모리(230)의 공유 영역에 저장되는 적어도 하나의 어플리케이션 데이터 파일 각각에 대응된 파일 오우너(owner) 정보를 이용하여 삭제된 어플리케이션에 대응된 적어도 하나의 어플리케이션 데이터 파일을 식별할 수 있다.
일 실시 예에 따르면 프로세서(220)는 제1 어플리케이션 삭제 시(또는 삭제 후) 제1 어플리케이션에 대응된 제1 어플리케이션 식별 정보를 획득하고 공유 영역에 저장된 적어도 하나의 어플리케이션 데이터 파일에 대응된 파일 오우너 정보 중 제1 어플리케이션 식별 정보와 동일한 제1 파일 오우너 정보에 대응된 적어도 하나의 어플리케이션 데이터 파일을 식별할 수 있다.
일 실시 예에 따르면 프로세서(220)는 전자 장치(201)에 설치되었다가 삭제된 어플리케이션의 어플리케이션 식별 정보를 포함하는 어플리케이션 삭제 이력을 저장할 수 있다. 일 실시 예에 따르면 프로세서(220)는 제1 어플리케이션 삭제 시(또는 삭제 후) 제1 어플리케이션 식별 정보를 어플리케이션 삭제 이력에 추가할 수 있다. 일 실시 예에 따른 프로세서(220)는 공유 영역에 저장된 적어도 하나의 어플리케이션 데이터 파일에 대응된 파일 오우너 정보 중 어플리케이션 삭제 이력에 포함된 제1 어플리케이션 식별 정보와 동일한 제1 파일 오우너 정보에 대응된 적어도 하나의 어플리케이션 데이터 파일을 식별할 수 있다.
일 실시 예에 따르면, 프로세서(220)는 아이들(idle) 상태에서 지정된 조건 만족 시 또는 지정된 시간 간격 마다, 지정된 프로그램(예: android의 package manager)을 이용하여 전자 장치(201)에 존재하는(또는 설치된) 어플리케이션을 식별하고, 데이터베이스를 이용하여 공유 영역에 저장된 데이터 파일들 중 존재하지 않은(또는 설치되지 않거나 삭제된) 어플리케이션에 대응된 적어도 하나의 어플리케이션 데이터 파일을 식별할 수 있다.
일 실시 예에 따르면, 프로세서(220)는 아이들(idle) 상태에서 지정된 조건 만족 시 또는 지정된 시간 간격 마다, 전자 장치(201)에 존재하는(또는 설치된) 어플리케이션을 식별하고, 어플리케이션 삭제 이력을 읽어올 수 있다. 일 실시 예에 따른 프로세서(220)는 전자 장치(201)에 존재하는 어플리케이션의 어플리케이션 식별 정보와 어플리케이션 삭제 이력에 존재하는 어플리케이션 식별 정보를 이용하여 공유 영역에 저장된 데이터 파일들 중 전자 장치(201)에 존재하지 않으면서 삭제된 어플리케이션 식별 정보에 대응된 적어도 하나의 어플리케이션 데이터 파일을 식별할 수 있다.
일 실시 예에 따르면 아이들 상태는 슬립 상태, 지정된 시간 기간 이상 사용자 입력이 없는 상태, 또는 저전력 모드인 상태를 포함할 수 있다. 일 실시 예에 따른 아이들 상태에서 지정된 조건을 만족하는 상태는 아이들 상태에서 충전중이고 지정된 시간 기간(예: 75분) 이상 사용자가 전자 장치를 이용하지 않는 것을 만족하는 상태를 포함할 수 있다. 일 실시 예에 따른 프로세서(220)는 아이들 상태에서 충전중이고 지정된 시간 기간(예: 75분) 이상 사용자가 전자 장치를 이용하지 않는 경우 트리거를 발생할 수 있다.
일 실시 예에 따르면, 프로세서(220)는 전자 장치(201)에 외부 저장 장치(예: 도 1의 외장 메모리(138))(예: sd card) 장착(또는 삽입 또는 연결) 시 외부 저장 장치에 저장된 데이터 파일들 각각의 메타 데이터를 이용하여 외부 저장 장치에 저장된 데이터 파일들 중 전자 장치(201)에 존재하지 않은(또는 설치되지 않거나 삭제된) 어플리케이션에 대응된 적어도 하나의 어플리케이션 데이터 파일을 식별할 수 있다.
일 실시 예에 따르면, 프로세서(220)는 통신 회로(290)를 통해 외부 서버(예: 클라우드 서버)로부터 데이터 파일(또는 데이터 파일들) 수신 시 수신되는 데이터 파일들 각각에 대한 파일 정보를 함께 수신하고 파일 정보를 기반으로 수신된 데이터 파일들 중 전자 장치(201)에 존재하지 않은(또는 설치되지 않거나 삭제된) 어플리케이션에 대응된 적어도 하나의 어플리케이션 데이터 파일을 식별할 수 있다. 일 실시 예에 따르면, 외부 서버는 공유 영역에 저장된 특정 어플리케이션 데이터 파일을 자주(지정된 횟수 이상) 이용하는 어플리케이션의 정보를 저장할 수 있다.
일 실시 예에 따른 프로세서(220)는 삭제된 어플리케이션에 대응하는 적어도 하나의 어플리케이션 데이터 파일 각각의 타입이 지정된 타입인지 식별할 수 있다. 예를 들면, 지정된 타입은 숨김 파일 타입을 포함하거나 저장 경로의 길이가 지정된 길이보다 긴 파일 타입(또는 깊은 디렉토리 구조를 가지는 파일의 타입)을 포함하거나 지정된 확장자를 가지는 파일 타입을 포함하거나, 삭제 확인없이 즉시 삭제하도록 지정된 타입을 포함하거나, 활용도가 높은 파일 타입(예: image, video, audio, text, 또는 document)을 제외한 타입을 포함할 수 있다.
일 실시 예에 따른 프로세서(220)는 삭제된 어플리케이션에 대응하는 어플리케이션 데이터 파일의 타입이 지정된 타입인 경우 공유 영역에서 어플리케이션 데이터 파일을 삭제할 수 있다.
일 실시 예에 따른 프로세서(220)는 삭제된 어플리케이션에 대응하는 어플리케이션 데이터 파일의 타입이 지정된 타입이 아닌 경우 어플리케이션 데이터 파일의 삭제 여부를 확인하는 정보를 출력할 수 있다. 일 실시 예에 따른 프로세서(220)는 삭제된 어플리케이션과 대응되지만(또는 연관되지만) 지정된 타입이 아닌 어플리케이션 데이터 파일을 식별할 수 있다. 일 실시 예에 따른 프로세서(220)는 삭제된 어플리케이션에 대응되지만(또는 연관되지만) 지정된 타입이 아닌 어플리케이션 데이터 파일들 중 지정된 조건을 만족하는 일부 파일에 대해서 어플리케이션 데이터 파일의 삭제 여부를 확인하는 정보를 출력할 수도 있다. 일 실시 예에 따르면 삭제된 어플리케이션에 대응되지만(또는 연관되지만) 지정된 타입이 아닌 어플리케이션 데이터 파일들 중 지정된 조건을 만족하는 일부 파일은 삭제된 어플리케이션에 대응되지만(또는 연관되지만) 지정된 타입이 아닌 어플리케이션 데이터 파일들 중 클라우드를 통해(예: 외부 서버로부터) 또는 외장 메모리로부터 수신된(또는 제공된) 어플리케이션 데이터 파일 또는 프로세서(220)에서 접근한 적이 없거나 접근 횟수가 지정된 횟수 미만인 어플리케이션 데이터 파일을 포함할 수 있다.
일 실시 예에 따른 프로세서(220)는 지정된 타입이 아닌 어플리케이션 파일들이 복수 개 존재하는 경우 복수의 어플리케이션 파일들을 지정된 조건(예: 파일 타입(예: image, video, audio, text, 또는 document)) 또는 우선순위 기반으로 분류하고 분류한 어플리케이션 파일 리스트와 분류한 어플리케이션 파일 리스트 내의 어플리케이션 데이터 파일의 삭제 여부를 확인하는 정보를 출력할 수 있다. 예를 들면, 프로세서(220)는 어플리케이션 데이터 파일의 삭제 여부를 확인하는 메시지를 디스플레이(260)를 통해 표시하거나 어플리케이션 데이터 파일의 삭제 여부를 확인하는 사운드를 스피커(예: 도 1의 음향출력모듈(155))를 통해 출력할 수 있다.
일 실시 예에 따른 프로세서(220)는 삭제된 어플리케이션에 대응하는 어플리케이션 데이터 파일의 삭제 여부 응답에 기반하여 어플리케이션 데이터 파일을 삭제하거나 유지할 수 있다. 일 실시 예에 따른 프로세서(220)는 어플리케이션 데이터 파일의 사용자 삭제 선택 입력(예: 터치 입력 또는 음성 입력) 또는 사용자 선택 입력 없음 또는 미삭제 선택 입력에 기반하여 삭제 대상 어플리케이션 데이터 파일을 삭제하거나 삭제하지 않고 유지할 수 있다.
일 실시 예에 따른 메모리(230)는 프로세서(220)에서 연산을 수행하거나 데이터를 저장하기 위한 저장 공간을 제공할 수 있다. 데이터는, 예를 들어, 소프트웨어(예: 도 1의 프로그램(140)(예: 운영 체제(142), 미들 웨어(144) 또는 어플리케이션(146))) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 일 실시 예에 따른 메모리(230)는, 휘발성 메모리 또는 비휘발성 메모리를 포함할 수 있다. 일 실시 예에 따른 메모리(230)는 어플리케이션 영역(예: app-private 영역), 공유 영역(예: shared storage)을 포함하고 프리퍼런스 영역 및/또는 데이터베이스 영역을 더 포함할 수 있다.
일 실시 예에 따른 디스플레이(260)(예: 도 1의 디스플레이 모듈(160))는 전자 장치(201)의 외부(예: 사용자)로 정보를 시각적으로 제공할 수 있다. 일 실시 예에 따른 디스플레이(260)는 프로세서(220)의 제어에 기반하여 삭제된 어플리케이션에 대응하는 어플리케이션 데이터 파일의 타입이 지정된 타입이 아닌 경우 어플리케이션 데이터 파일의 삭제 여부를 확인하는 정보를 표시할 수 있다.
일 실시 예에 따른 통신 회로(290)(예: 도 1의 통신 모듈(190))는 전자 장치(201)의 외부 전자 장치(예: 외부 서버(또는 클라우드 서버))와 통신을 수행할 수 있다. 일 실시 예에 따른 통신 회로(290)는 통신을 통해 외부 전자 장치로부터 어플리케이션 데이터 파일(또는 어플리케이션 데이터 파일들)과 어플리케이션 데이터 파일에 대한 파일 정보를 수신할 수 있다.
도 2b는 일 실시 예에 따른 메모리의 저장 영역을 나타낸 도면이다.
도 2b를 참조하면, 일 실시 예에 따른 메모리(230)는 어플리케이션 영역(예: app-private 영역)(232), 공유 영역(예: shared 영역)(234), 프리퍼런스 영역(236), 및 데이터베이스 영역(238)을 포함할 수 있다.
일 실시 예에 따른 어플리케이션 영역(232)은 어플리케이션을 통해서만 이용 가능한 어플리케이션 데이터 파일을 저장할 수 있다. 일 실시 예에 따른 프로세서(220)는 어플리케이션을 실행하거나 또는 처리하거나 설치 시 생성 및 또는 획득된 어플리케이션 데이터 파일 중 어플리케이션을 통해서만 이용 가능한 어플리케이션 데이터 파일을 어플리케이션 영역(232)에 저장할 수 있다. 일 실시 예에 따른 프로세서(220)는 어플리케이션 삭제(또는 설치 해제)에 기반하여 어플리케이션 영역(232)에 저장된 어플리케이션 데이터 파일을 삭제할 수 있다.
일 실시 예에 따른 공유 영역(234)은 어플리케이션뿐만 아니라 어플리케이션 외의 다른 프로그램(또는 다른 어플리케이션)이 공용으로 이용할 수 있는 어플리케이션 데이터 파일을 저장할 수 있다. 일 실시 예에 따른 프로세서(220)는 어플리케이션을 실행하거나 또는 처리하거나 설치 시 생성 및 또는 획득된 어플리케이션 데이터 파일 중 공용으로 이용 가능한 어플리케이션 데이터 파일을 공유 영역(234)에 저장하거나, 통신 회로(290)를 통해 외부 서버(예: 클라우드 서버)로부터 수신된 어플리케이션 데이터 파일을 공유 영역(234)에 저장할 수 있다. 일 실시 예에 따른 공유 영역(234)은 외부 저장 장치(예: 도 1의 외장 메모리(138)) (예: sd card) 장착(또는 삽입 또는 연결)에 의해 프로세서(220)에 의해 식별된 외부 저장 장치의 저장 영역일 수 있으며, 전자 장치(201)에 존재하지 않은(또는 설치되지 않거나 삭제된) 어플리케이션에 대응된 적어도 하나의 어플리케이션 데이터 파일을 저장할 수 있다.
일 실시 예에 따른 프로세서(220)는 공유 영역(234)에 저장된 적어도 하나의 어플리케이션 데이터 파일 각각에 대응된 파일 오우너(owner) 정보를 이용하여 삭제된 어플리케이션에 대응된 적어도 하나의 어플리케이션 데이터 파일을 식별할 수 있다. 일 실시 예에 따른 프로세서(220)는 삭제된 어플리케이션에 대응하는 적어도 하나의 어플리케이션 데이터 파일 각각의 타입이 지정된 타입인지 식별하고, 삭제된 어플리케이션에 대응하는 어플리케이션 데이터 파일의 타입이 지정된 타입인 경우 공유 영역(234)에서 어플리케이션 데이터 파일을 삭제할 수 있다. 일 실시 예에 따른 프로세서(220)는 삭제된 어플리케이션에 대응하는 어플리케이션 데이터 파일의 타입이 지정된 타입이 아닌 경우 어플리케이션 데이터 파일의 삭제 여부를 확인하는 정보를 출력하고, 삭제된 어플리케이션에 대응하는 어플리케이션 데이터 파일의 삭제 여부 응답(예: 사용자 삭제 선택 입력 또는 사용자 미삭제 선택 입력)에 기반하여 어플리케이션 데이터 파일을 삭제하거나 유지할 수 있다.
일 실시 예에 따른 프리퍼런스 영역(236)은 어플리케이션 관련 key-value pair를 저장할 수 있다. 일 실시 예에 따른 프리퍼런스 영역(236)은 어플리케이션이 실행될 때마다 로드되어야 하는 기본적인 환영 인사말이나 텍스트 폰트와 같은 어플리케이션의 환경 설정 정보를 저장할 수 있다. 일 실시 예에 따른 프로세서(220)는 어플리케이션 실행 시 프리퍼런스 영역(236)에 저장된 정보를 이용할 수 있고, 어플리케이션 삭제(또는 설치 해제)에 기반하여 프리퍼런스 영역(236)에 정보들 중 삭제 어플리케이션에 대응된 정보를 삭제할 수 있다.
일 실시 예에 따른 데이터베이스 영역(238)은 어플리케이션 데이터 파일들 각각에 대한 파일 정보를 포함하는 데이터베이스를 저장할 수 있다. 일 실시 예에 따른 프로세서(220)는 공유 영역에 저장되는 어플리케이션 데이터 파일에 대응된 어플리케이션 파일 정보를 포함하는 데이터베이스를 데이터베이스 영역(238)에 저장하고, 어플리케이션 데이터 파일 생성 또는 삭제 시 데이터베이스를 업데이트할 수 있다. 예를 들면, 어플리케이션 데이터 파일 정보는 어플리케이션 데이터 파일의 ID(_id), 어플리케이션 데이터 파일의 저장 경로(또는 디렉토리) 및 이름(_data), 어플리케이션 데이터 파일의 사이즈(_size), 어플리케이션 데이터 파일의 저장 날짜(data_added), 어플리케이션 데이터 파일의 오우너 패키지 이름(owner_package_name)을 포함할 수 있다.
일 실시 예에 따른 전자 장치(예: 도 1의 전자 장치(101) 또는 도 2a의 전자 장치(201))는 디스플레이(예: 도 1의 디스플레이 모듈(160) 또는 도 2의 디스플레이(260)), 메모리(예: 도 1의 메모리(130) 또는 도 2의 메모리(230)), 및 상기 디스플레이 및 상기 메모리와 작동적으로 연결된 프로세서(예: 도 1의 프로세서(120) 또는 도 2의 프로세서(220))를 포함할 수 있다. 일 실시 예에 따른 상기 메모리는, 실행 시에, 상기 프로세서가 상기 메모리의 공유 영역에 저장된 데이터 파일들 중 삭제된 어플리케이션에 대응된 적어도 하나의 어플리케이션 데이터 파일을 식별하도록 하는 인스트럭션들을 저장할 수 있다. 일 실시 예에 따른 상기 메모리는, 실행 시에, 상기 프로세서가 상기 적어도 하나의 어플리케이션 데이터 파일 중 지정된 타입의 어플리케이션 데이터 파일이 존재하는 경우 상기 지정된 타입의 어플리케이션 데이터 파일을 삭제하도록 하는 인스트럭션들을 저장할 수 있다. 일 실시 예에 따른 상기 메모리는, 실행 시에, 상기 프로세서가 상기 적어도 하나의 어플리케이션 데이터 파일 중 상기 지정된 타입이 아닌 어플리케이션 데이터 파일이 존재하는 경우 상기 지정된 타입이 아닌 어플리케이션 데이터 파일의 삭제 여부를 확인하는 정보를 상기 디스플레이에 표시하도록 하는 인스트럭션들을 저장할 수 있다. 일 실시 예에 따른 상기 메모리는, 실행 시에, 상기 프로세서가 상기 정보에 대한 응답에 기반하여 상기 지정된 타입이 아닌 어플리케이션 데이터 파일을 삭제하거나 유지하도록 하는 인스트럭션들을 저장할 수 있다.
일 실시 예에 따른 상기 공유 영역은 상기 전자 장치의 어플리케이션과 상기 어플리케이션이 아닌 상기 전자 장치의 다른 프로그램에 의해 엑세스 가능한 영역일 수 있다.
일 실시 예에 따른 상기 지정된 타입은 숨김 타입 또는 저장 경로의 길이가 지정된 길이보다 긴 타입을 포함할 수 있다.
일 실시 예에 따른 상기 인스트럭션들은, 상기 프로세서에 의해 실행 시, 상기 전자 장치로 하여금, 지정된 조건 만족 시 상기 전자 장치에 존재하는 적어도 하나의 어플리케이션을 식별하고, 상기 전자 장치에 저장된 어플리케이션 삭제 이력을 읽어오도록 할 수 있다. 상기 인스트럭션들은, 상기 프로세서에 의해 실행 시, 상기 전자 장치로 하여금, 상기 상기 전자 장치에 존재하는 적어도 하나의 어플리케이션과 상기 어플리케이션 삭제 이력을 이용하여 상기 전자 장치에 존재하지 않으면서 삭제된 어플리케이션에 대응된 파일 오우너 정보를 식별하도록 할 수 있다. 상기 인스트럭션들은, 상기 프로세서에 의해 실행 시, 상기 전자 장치로 하여금, 상기 파일 오우너 정보를 이용하여 상기 공유 영역에 저장된 데이터 파일들 중 상기 삭제된 어플리케이션에 대응된 상기 적어도 하나의 어플리케이션 데이터 파일을 식별하도록 할 수 있다.
일 실시 예에 따른 상기 파일 오우너 정보는 오우너 패키지 이름 또는 어플리케이션 식별 정보를 포함할 수 있다.
일 실시 예에 따른 상기 인스트럭션들은, 상기 프로세서에 의해 실행 시에, 상기 전자 장치로 하여금, 어플리케이션의 삭제에 기반하여 상기 삭제된 어플리케이션에 대응된 어플리케이션 식별 정보를 획득하고, 상기 파일 오우너 정보와 상기 어플리케이션 식별 정보가 동일한 것에 기반하여 상기 삭제된 어플리케이션에 대응된 상기 적어도 하나의 어플리케이션 데이터 파일을 식별하도록 할 수 있다.
일 실시 예에 따른 인스트럭션들은, 상기 프로세서에 의해 실행 시에, 상기 전자 장치로 하여금, 아이들 상태에서 상기 삭제된 어플리케이션에 대응된 어플리케이션 식별 정보를 획득하고, 상기 파일 오우너 정보와 상기 어플리케이션 식별 정보가 동일한 것에 기반하여 상기 삭제된 어플리케이션에 대응된 상기 적어도 하나의 어플리케이션 데이터 파일을 식별하도록 할 수 있다.
일 실시 예에 따른 상기 인스트럭션들은, 상기 프로세서에 의해 실행 시에, 상기 전자 장치로 하여금, 상기 전자 장치에 외부 저장 장치의 연결에 기반하여 상기 삭제된 어플리케이션에 대응된 어플리케이션 식별 정보를 획득하고, 상기 외부 저장 장치에 저장된 데이터 파일들 각각의 메타 데이터를 이용하여 상기 데이터 파일들 각각의 파일 오우너 정보를 획득하고, 상기 파일 오우너 정보와 상기 어플리케이션 식별 정보가 동일한 것에 기반하여 상기 삭제된 어플리케이션에 대응된 상기 적어도 하나의 어플리케이션 데이터 파일을 식별하도록 할 수 있다.
일 실시 예에 따른 상기 전자 장치는 통신 회로(예: 도 1의 통신 모듈(190) 또는 도 2의 통신 회로(290))를 더 포함할 수 있다. 일 실시 예에 따른 상기 인스트럭션들은, 상기 프로세서에 의해 실행 시에, 상기 전자 장치로 하여금, 상기 통신 회로를 통해 외부 서버로부터 상기 적어도 하나의 어플리케이션 데이터 파일을 수신하고 수신된 상기 적어도 하나의 어플리케이션 데이터 파일을 상기 공유 영역에 저장하도록 할 수 있다.
일 실시 예에 따른 상기 인스트럭션들은, 상기 프로세서에 의해 실행 시에, 상기 전자 장치로 하여금, 상기 지정된 타입이 아닌 어플리케이션 데이터 파일이 복수개 존재하는 경우 복수의 어플리케이션 데이터 파일들을 지정된 조건 기반으로 분류하고, 분류된 어플리케이션 데이터 파일 그룹들을 나타내는 리스트를 상기 디스플레이에 표시하도록 할 수 있다.
일 실시 예에 따른 인스트럭션들은, 상기 프로세서에 의해 실행 시에, 상기 전자 장치로 하여금, 상기 분류된 어플리케이션 데이터 파일 그룹들 중 적어도 일부의 삭제를 선택하기 위한 아이콘을 상기 디스플레이에 표시하도록 할 수 있다.
도 3은 일 실시 예에 따른 전자 장치에서 어플리케이션 데이터 파일 삭제 동작을 나타낸 흐름도이다.
도 3을 참조하면, 일 실시 예에 따른 전자 장치(201)(예: 도 1의 전자 장치(101))의 프로세서(220)(예: 도 1의 프로세서(120))는 310 내지 360 동작들 중 적어도 하나의 동작을 수행할 수 있다.
310 동작에서, 일 실시 예에 따른 프로세서(220)는 공유 영역(234)에 저장된 적어도 하나의 어플리케이션 데이터 파일 각각에 대응된 파일 오우너(owner) 정보를 이용하여 삭제된 어플리케이션에 대응된 적어도 하나의 어플리케이션 데이터 파일을 식별할 수 있다.
일 실시 예에 따르면 프로세서(220)는 제1 어플리케이션 삭제 시(또는 삭제 후) 제1 어플리케이션에 대응된 어플리케이션 식별 정보를 획득하고 공유 영역에 저장된 적어도 하나의 어플리케이션 데이터 파일에 대응된 파일 오우너 정보 중 어플리케이션 식별 정보에 대응되거나 동일한 제1 파일 오우너 정보에 대응된 적어도 하나의 어플리케이션 데이터 파일을 식별할 수 있다.
일 실시 예에 따르면 프로세서(220)는 전자 장치(201)에 설치되었다가 삭제된 어플리케이션의 어플리케이션 식별 정보를 포함하는 어플리케이션 삭제 이력을 저장할 수 있다. 일 실시 예에 따르면 프로세서(220)는 제1 어플리케이션 삭제 시(또는 삭제 후) 제1 어플리케이션 식별 정보를 어플리케이션 삭제 이력에 추가할 수 있다. 일 실시 예에 따른 프로세서(220)는 공유 영역에 저장된 적어도 하나의 어플리케이션 데이터 파일에 대응된 파일 오우너 정보 중 어플리케이션 삭제 이력에 포함된 제1 어플리케이션 식별 정보와 동일한 제1 파일 오우너 정보에 대응된 적어도 하나의 어플리케이션 데이터 파일을 식별할 수 있다.
일 실시 예에 따르면, 프로세서(220)는 아이들(idle) 상태에서 지정된 조건 만족 시(예: 24시간 동안 사용자 입력 없는 경우) 또는 지정된 시간 간격 마다 지정된 프로그램(예: android의 package manager)을 이용하여 전자 장치(201)에 존재하는(또는 설치된) 어플리케이션을 식별하고, 데이터베이스를 이용하여 공유 영역에 저장된 데이터 파일들 중 존재하지 않은(또는 설치되지 않거나 삭제된) 어플리케이션에 대응된 적어도 하나의 어플리케이션 데이터 파일을 식별할 수 있다. 일 실시 예에 따르면, 프로세서(220)는 아이들(idle) 상태에서 지정된 조건 만족 시 또는 지정된 시간 간격 마다, 전자 장치(201)에 존재하는(또는 설치된) 어플리케이션을 식별하고, 어플리케이션 삭제 이력을 읽어올 수 있다. 일 실시 예에 따른 프로세서(220)는 전자 장치(201)에 존재하는 어플리케이션의 어플리케이션 식별 정보와 어플리케이션 삭제 이력에 존재하는 어플리케이션 식별 정보를 이용하여 공유 영역에 저장된 데이터 파일들 중 전자 장치(201)에 존재하지 않으면서 삭제된 어플리케이션 식별 정보에 대응된 적어도 하나의 어플리케이션 데이터 파일을 식별할 수 있다.
일 실시 예에 따르면, 프로세서(220)는 전자 장치(201)에 외부 저장 장치(예: 도 1의 외장 메모리(138)) (예: sd card) 장착(또는 삽입 또는 연결) 시 외부 저장 장치에 저장된 데이터 파일들 각각의 메타 데이터를 이용하여 외부 저장 장치에 저장된 데이터 파일들 중 전자 장치(201)에 존재하지 않은(또는 설치되지 않거나 삭제된) 어플리케이션에 대응된 적어도 하나의 어플리케이션 데이터 파일을 식별할 수 있다. 일 실시 예에 따르면, 프로세서(220)는 통신 회로(290)를 통해 외부 서버(예: 클라우드 서버)로부터 데이터 파일(또는 데이터 파일들) 수신 시 수신되는 데이터 파일들 각각에 대한 파일 정보를 함께 수신하고 파일 정보를 기반으로 수신된 데이터 파일들 중 전자 장치(201)에 존재하지 않은(또는 설치되지 않거나 삭제된) 어플리케이션에 대응된 적어도 하나의 어플리케이션 데이터 파일을 식별할 수 있다.
320 동작에서, 일 실시 예에 따른 프로세서(220)는 삭제된 어플리케이션에 대응하는 적어도 하나의 어플리케이션 데이터 파일 각각의 타입이 지정된 타입인지 식별할 수 있다. 예를 들면, 지정된 타입은 숨김 파일 타입을 포함하거나 저장 경로의 길이가 지정된 길이보다 긴 파일 타입(또는 깊은 디렉토리 구조를 가지는 파일의 타입)을 포함하거나 지정된 확장자를 가지는 파일 타입을 포함하거나, 삭제 확인없이 즉시 삭제하도록 지정된 타입을 포함하거나, 활용도가 높은 파일 타입(예: image, video, audio, text, 또는 document)을 제외한 타입을 포함할 수 있다.
330 동작에서, 일 실시 예에 따른 프로세서(220)는 삭제된 어플리케이션에 대응하는 어플리케이션 데이터 파일의 타입이 지정된 타입인 경우 공유 영역(234)에서 지정된 타입의 어플리케이션 데이터 파일을 삭제할 수 있다.
340 동작에서, 일 실시 예에 따른 프로세서(220)는 삭제된 어플리케이션에 대응하는 어플리케이션 데이터 파일의 타입이 지정된 타입이 아닌 경우 어플리케이션 데이터 파일의 삭제 여부를 확인하는 정보를 출력할 수 있다. 일 실시 예에 따른 프로세서(220)는 지정된 타입이 아닌 어플리케이션 파일들이 복수 개 존재하는 경우 복수의 어플리케이션 파일들을 지정된 조건(예: 파일 타입(예: image, video, audio, text, 또는 document) 또는 우선순위 기반으로 분류하고 분류한 어플리케이션 파일 리스트와 분류한 어플리케이션 파일 리스트 내의 어플리케이션 데이터 파일의 삭제 여부를 확인하는 정보를 출력할 수 있다. 예를 들면, 프로세서(220)는 어플리케이션 데이터 파일의 삭제 여부를 확인하는 메시지를 디스플레이(260)를 통해 표시하거나 어플리케이션 데이터 파일의 삭제 여부를 확인하는 사운드를 스피커(예: 도 1의 음향출력모듈(155))를 통해 출력할 수 있다.
350 동작에서, 일 실시 예에 따른 프로세서(220)는 삭제된 어플리케이션에 대응하는 어플리케이션 데이터 파일의 삭제 여부 응답에 기반하여 어플리케이션 데이터 파일을 삭제하거나 유지할 수 있다. 일 실시 예에 따른 프로세서(220)는 어플리케이션 데이터 파일의 사용자 삭제 선택 입력(예: 터치 입력 또는 음성 입력) 또는 사용자 미삭제 선택 입력에 기반하여 삭제 대상 어플리케이션 데이터 파일을 삭제하거나 삭제하지 않고 유지할 수 있다.
일 실시 예에 따른 전자 장치(예: 도 1의 전자 장치(101) 또는 도 2a의 전자 장치(201))에서 어플리케이션 데이터 파일 삭제 방법은 상기 전자 장치의 메모리의 공유 영역에 저장된 데이터 파일들 중 삭제된 어플리케이션에 대응된 적어도 하나의 어플리케이션 데이터 파일을 식별하는 동작을 포함할 수 있다. 일 실시 예에 따른 상기 방법은 상기 적어도 하나의 어플리케이션 데이터 파일 중 지정된 타입의 어플리케이션 데이터 파일이 존재하는 경우 상기 지정된 타입의 어플리케이션 데이터 파일을 삭제하는 동작을 포함할 수 있다. 일 실시 예에 따른 상기 방법은 상기 적어도 하나의 어플리케이션 데이터 파일 중 상기 지정된 타입이 아닌 어플리케이션 데이터 파일이 존재하는 경우 상기 지정된 타입이 아닌 어플리케이션 데이터 파일의 삭제 여부를 확인하는 정보를 상기 전자 장치의 디스플레이에 표시하는 동작을 포함할 수 있다. 일 실시 예에 따른 상기 방법은 상기 정보에 대한 응답에 기반하여 상기 지정된 타입이 아닌 어플리케이션 데이터 파일을 삭제하거나 유지하는 동작을 포함할 수 있다.
일 실시 예에 따른 상기 방법에서 상기 공유 영역은 상기 전자 장치의 어플리케이션과 상기 어플리케이션이 아닌 상기 전자 장치의 다른 프로그램에 의해 엑세스 가능한 영역일 수 있다.
일 실시 예에 따른 상기 방법에서 상기 지정된 타입은 숨김 타입 또는 저장 경로의 길이가 지정된 길이보다 긴 타입을 포함할 수 있다.
일 실시 예에 따른 상기 방법은 지정된 조건 만족 시 상기 전자 장치에 존재하는 적어도 하나의 어플리케이션을 식별하고, 상기 전자 장치에 저장된 어플리케이션 삭제 이력을 읽어오는 동작을 포함할 수 있다. 상기 방법은 상기 전자 장치에 존재하는 적어도 하나의 어플리케이션과 상기 어플리케이션 삭제 이력을 이용하여 상기 전자 장치에 존재하지 않으면서 삭제된 어플리케이션에 대응된 파일 오우너 정보를 식별하는 동작을 포함할 수 있다. 상기 방법은 상기 파일 오우너 정보를 이용하여 상기 공유 영역에 저장된 상기 데이터 파일들 중 상기 삭제된 어플리케이션에 대응된 상기 적어도 하나의 어플리케이션 데이터 파일을 식별하는 동작을 포함할 수 있다.
일 실시 예에 따른 상기 방법에서 상기 파일 오우너 정보는 오우너 패키지 이름 또는 어플리케이션 식별 정보를 포함할 수 있다.
일 실시 예에 따른 상기 방법은 어플리케이션의 삭제에 기반하여 상기 삭제된 어플리케이션에 대응된 어플리케이션 식별 정보를 획득하는 동작을 포함할 수 있다. 일 실시 예에 따른 상기 방법은 상기 파일 오우너 정보와 상기 어플리케이션 식별 정보가 동일한 것에 기반하여 상기 삭제된 어플리케이션에 대응된 상기 적어도 하나의 어플리케이션 데이터 파일을 식별하는 동작을 포함할 수 있다.
일 실시 예에 따른 상기 방법은 아이들 상태에서 상기 삭제된 어플리케이션에 대응된 어플리케이션 식별 정보를 획득하는 동작을 포함할 수 있다. 일 실시 예에 따른 상기 방법은 상기 파일 오우너 정보와 상기 어플리케이션 식별 정보가 동일한 것에 기반하여 상기 삭제된 어플리케이션에 대응된 상기 적어도 하나의 어플리케이션 데이터 파일을 식별하는 동작을 포함할 수 있다.
일 실시 예에 따른 상기 방법은 상기 전자 장치에 외부 저장 장치의 연결에 기반하여 상기 삭제된 어플리케이션에 대응된 어플리케이션 식별 정보를 획득하는 동작을 포함할 수 있다. 일 실시 예에 따른 상기 방법은 상기 외부 저장 장치에 저장된 데이터 파일들 각각의 메타 데이터를 이용하여 상기 데이터 파일들 각각의 파일 오우너 정보를 획득하는 동작을 포함할 수 있다. 일 실시 예에 따른 상기 방법은 상기 파일 오우너 정보와 상기 어플리케이션 식별 정보가 동일한 것에 기반하여 상기 삭제된 어플리케이션에 대응된 상기 적어도 하나의 어플리케이션 데이터 파일을 식별하는 동작을 포함할 수 있다.
일 실시 예에 따른 상기 방법은 상기 전자 장치의 통신 회로를 통해 외부 서버로부터 상기 적어도 하나의 어플리케이션 데이터 파일을 수신하는 동작을 포함할 수 있다. 일 실시 예에 따른 상기 방법은 수신된 상기 적어도 하나의 어플리케이션 데이터 파일을 상기 공유 영역에 저장하는 동작을 포함할 수 있다.
일 실시 예에 따른 상기 방법은 상기 지정된 타입이 아닌 어플리케이션 데이터 파일이 복수개 존재하는 경우 복수의 어플리케이션 데이터 파일들을 지정된 조건 기반으로 분류하는 동작을 포함할 수 있다. 일 실시 예에 따른 상기 방법은 상기 분류된 어플리케이션 데이터 파일 그룹들을 나타내는 리스트를 상기 디스플레이에 표시하는 동작을 포함할 수 있다. 일 실시 예에 따른 상기 방법은 상기 분류된 어플리케이션 데이터 파일 그룹들 중 적어도 일부의 삭제를 선택하기 위한 아이콘을 상기 디스플레이에 표시하는 동작을 포함할 수 있다.
도 4는 일 실시 예에 따른 전자 장치에서 어플리케이션 삭제 시 어플리케이션 데이터 파일을 삭제하는 동작을 나타낸 흐름도이다.
도 4를 참조하면, 일 실시 예에 따른 전자 장치(201)(예: 도 1의 전자 장치(101))의 프로세서(220)(예: 도 1의 프로세서(120))는 410 내지 460 동작들 중 적어도 하나의 동작을 수행할 수 있다.
410 동작에서, 일 실시 예에 따른 프로세서(220)는 어플리케이션의 삭제 요청에 따라 어플리케이션을 삭제하고 삭제된 어플리케이션에 대응된 어플리케이션 식별 정보를 획득할 수 있다. 일 실시 예에 따르면 프로세서(220)는 사용자 입력 또는 지정된 명령에 기반하여 전자 장치(201)에 설치된 어플리케이션의 삭제 요청에 따라 어플리케이션을 삭제하고 삭제된 어플리케이션에 대응된 어플리케이션 식별 정보(예: id, uid, gid, 오우너 패키지 이름(owner_package_name))를 획득할 수 있다. 일 실시 예에 따르면, 프로세서(220)는 어플리케이션이 삭제된 경우 지정된 프로그램(예: mediaprovider 또는 다른 어플리케이션)으로부터 알림(notify)(예: ACTION_PACKAGE_REMOVED intent)을 수신하여 어플리케이션의 삭제를 식별할 수 있다. 일 실시 예에 따르면, 프로세서(220)는 어플리케이션이 삭제된 경우 삭제된 어플리케이션의 어플리케이션 식별 정보를 어플리케이션 삭제 이력에 저장할 수 있다. 일 실시 예에 따르면, 프로세서(220)는 어플리케이션이 삭제될 때마다 지정된 프로그램으로부터 어떤 어플리케이션이 삭제되었는지를 알리는 알림(notify)을 수신할 수 있다. 일 실시 예에 따르면, 프로세서(220)는 어플리케이션이 삭제될 때마다 전자 장치(201)에 설치되었다가 삭제된 어플리케이션의 어플리케이션 식별 정보를 포함하는 어플리케이션 삭제 이력을 업데이트할 수 있다.
420 동작에서, 일 실시 예에 따른 프로세서(220)는 데이터베이스에 저장된 파일 오우너 정보를 이용하여 공유 영역(234)에 저장된 데이터 파일들 중 삭제된 어플리케이션에 대응된 적어도 하나의 어플리케이션 데이터 파일을 식별할 수 있다. 일 실시 예에 따른 프로세서(220)는 삭제된 어플리케이션에 대한 알림 수신에 기반하여 데이터베이스에서 삭제된 어플리케이션의 이름과 동일한 오우너 패키지 이름(owner_package_name)을 가지는 적어도 하나의 어플리케이션 데이터 파일을 삭제 대상 어플리케이션 데이터 파일로 식별할 수 있다.
430 동작에서, 일 실시 예에 따른 프로세서(220)는 삭제된 어플리케이션에 대응하는 적어도 하나의 어플리케이션 데이터 파일 각각의 타입이 지정된 타입인지 식별할 수 있다. 예를 들면, 지정된 타입은 숨김 파일 타입을 포함하거나 저장 경로의 길이가 지정된 길이보다 긴 파일 타입(또는 깊은 디렉토리 구조를 가지는 파일의 타입)을 포함하거나 지정된 확장자를 가지는 파일 타입을 포함하거나, 삭제 허락없이 삭제하도록 지정된 타입을 포함하거나, 활용도가 높은 파일 타입(예: image, video, audio, text, 또는 document)을 제외한 타입을 포함할 수 있다.
440 동작에서, 일 실시 예에 따른 프로세서(220)는 삭제된 어플리케이션에 대응하는 어플리케이션 데이터 파일의 타입이 지정된 타입인 경우 공유 영역(234)에서 상기 지정된 타입의 어플리케이션 데이터 파일을 (즉시 또는 바로)삭제할 수 있다.
450 동작에서, 일 실시 예에 따른 프로세서(220)는 삭제된 어플리케이션에 대응하는 어플리케이션 데이터 파일의 타입이 지정된 타입이 아닌 경우 어플리케이션 데이터 파일의 삭제 여부를 확인하는 정보를 출력할 수 있다. 일 실시 예에 따른 프로세서(220)는 지정된 타입이 아닌 어플리케이션 파일들이 복수 개 존재하는 경우 복수의 어플리케이션 파일들을 지정된 조건(예: 파일 타입(예: image, video, audio, text, 또는 document) 또는 우선순위 기반으로 분류하고 분류한 어플리케이션 파일 리스트와 분류한 어플리케이션 파일 리스트 내의 어플리케이션 데이터 파일의 삭제 여부를 확인하는 정보를 출력할 수 있다. 예를 들면, 프로세서(220)는 어플리케이션 데이터 파일의 삭제 여부를 확인하는 메시지를 디스플레이(260)를 통해 표시하거나 어플리케이션 데이터 파일의 삭제 여부를 확인하는 사운드를 스피커(예: 도 1의 음향출력모듈(155))를 통해 출력할 수 있다.
460 동작에서, 일 실시 예에 따른 프로세서(220)는 삭제된 어플리케이션에 대응하는 어플리케이션 데이터 파일의 삭제 여부 응답에 기반하여 어플리케이션 데이터 파일을 삭제하거나 유지할 수 있다. 일 실시 예에 따른 프로세서(220)는 어플리케이션 데이터 파일의 사용자 삭제 선택 입력(예: 터치 입력 또는 음성 입력) 또는 사용자 미삭제 선택 입력에 기반하여 삭제 대상 어플리케이션 데이터 파일을 삭제하거나 삭제하지 않고 유지할 수 있다. 일 실시 예에 따른 프로세서(220)는 유지하도록 선택된 어플리케이션 데이터 파일에 대해 데이터베이스에 유지하도록 선택된 어플리케이션 데이터 파일임을 나타내는 유지 정보(예: is_owner_checked)를 저장할 수 있다. 일 실시 예에 따른 프로세서(220)는 유지 정보에 기반하여 삭제 대상 어플리케이션 데이터 파일로 안내하지 않을 수 있다. 일 실시 예에 따른 프로세서(220)는 미삭제 선택 시 삭제 대상 어플리케이션 데이터 파일의 미삭제 유지 기간을 입력받아 설정하거나 지정된 기간 설정할 수 있다. 일 실시 예에 따른 프로세서(220)는 삭제 대상 어플리케이션 데이터 파일의 미삭제 유지 기간이 만료되면 미삭제 유지 기간 만료 시점에 또는 주기적인 미삭제 유지 기간 만료 파일 삭제 이벤트 발생 시 삭제 대상 어플리케이션 데이터 파일을 삭제할 수 있다. 일 실시 예에 따른 프로세서(220)는 미삭제 유지 기간이 만료된 삭제 대상 어플리케이션 데이터 파일을 알리는 정보를 출력하고, 사용자의 삭제 요청 입력에 기반하여 미삭제 유지 기간이 만료된 삭제 대상 어플리케이션 데이터 파일을 삭제할 수도 있다.
도 5는 일 실시 예에 따른 전자 장치가 아이들 상태에서 어플리케이션 데이터 파일을 삭제하는 동작을 나타낸 흐름도이다.
도 5를 참조하면, 일 실시 예에 따른 전자 장치(201)(예: 도 1의 전자 장치(101))의 프로세서(220)(예: 도 1의 프로세서(120))는 510 내지 560 동작들 중 적어도 하나의 동작을 수행할 수 있다.
510 동작에 서, 일 실시 예에 따른 프로세서(220)는 아이들(idle) 상태에서 삭제된 어플리케이션에 대응된 어플리케이션 식별 정보를 획득할 수 있다. 일 실시 예에 따른 프로세서(220)는 아이들(idle) 상태에서 지정된 조건 만족 시(예: 아이들 상태에서 24시간 주기로, 또는 지정된 시간동안 사용자 입력이 존재하지 않는 경우 또는 충전중 또는 이외 다른 조건 만족 시) 지정된 프로그램(예: android의 package manager)을 이용하여 전자 장치(201)에 존재하는(또는 설치된) 어플리케이션(예: 설치된 어플리케이션 리스트)을 식별하고, 공유 영역(234)에 저장된 데이터 파일들 중 존재하지 않은(또는 설치되지 않거나 삭제된) 어플리케이션에 대응된 파일 오우너 정보(예: 파일의 메타데이터 또는 데이터 베이스의 오우너 패키지 이름(owner_package_name))를 식별할 수 있다. 일 실시 예에 따른 프로세서(220)는 아이들(idle) 상태에서 지정된 조건 만족 시 지정된 프로그램을 이용하여 전자 장치(201)에 존재하는(또는 설치된) 적어도 하나의 어플리케이션(예: 설치된 어플리케이션 리스트)을 식별하고, 상기 전자 장치(201)에서 삭제된 적어도 하나의 어플리케이션에 대한 어플리케이션 삭제 이력을 읽어올 수 있다. 일 실시 예에 따른 프로세서(220)는 전자 장치(201)에 존재하는 어플리케이션의 어플리케이션 식별 정보와 어플리케이션 삭제 이력에 존재하는 어플리케이션 식별 정보를 이용하여 공유 영역(234)에 저장된 데이터 파일들 중 존재하지 않으면서 삭제된 어플리케이션에 대응된 파일 오우너 정보(예: 파일의 메타데이터 또는 데이터 베이스의 오우너 패키지 이름(owner_package_name))를 식별할 수 있다.
520 동작에서, 일 실시 예에 따른 프로세서(220)는 파일 오우너 정보를 이용하여 공유 영역(234)에 저장된 데이터 파일들 중 삭제된 어플리케이션에 대응된 적어도 하나의 어플리케이션 데이터 파일을 식별할 수 있다.
530 동작에서, 일 실시 예에 따른 프로세서(220)는 삭제된 어플리케이션에 대응하는 적어도 하나의 어플리케이션 데이터 파일 각각의 타입이 지정된 타입인지 식별할 수 있다. 예를 들면, 지정된 타입은 숨김 파일 타입을 포함하거나 저장 경로의 길이가 지정된 길이보다 긴 파일 타입(또는 깊은 디렉토리 구조를 가지는 파일의 타입)을 포함하거나 지정된 확장자를 가지는 파일 타입을 포함하거나, 삭제 허락없이 삭제하도록 지정된 타입을 포함하거나, 활용도가 높은 파일 타입(예: image, video, audio, text, 또는 document)을 제외한 타입을 포함할 수 있다.
540 동작에서, 일 실시 예에 따른 프로세서(220)는 삭제된 어플리케이션에 대응하는 어플리케이션 데이터 파일의 타입이 지정된 타입인 경우 공유 영역(234)에서 상기 지정된 타입의 어플리케이션 데이터 파일을 (즉시 또는 바로)삭제할 수 있다.
550 동작에서, 일 실시 예에 따른 프로세서(220)는 삭제된 어플리케이션에 대응하는 어플리케이션 데이터 파일의 타입이 지정된 타입이 아닌 경우 아이들 상태가 해제될 때 어플리케이션 데이터 파일의 삭제 여부를 확인하는 정보를 출력할 수 있다. 일 실시 예에 따른 프로세서(220)는 지정된 타입이 아닌 어플리케이션 파일들이 복수 개 존재하는 경우 복수의 어플리케이션 파일들을 지정된 조건(예: 파일 타입(예: image, video, audio, text, 또는 document) 또는 우선순위 기반으로 분류하고 분류한 어플리케이션 파일 리스트와 분류한 어플리케이션 파일 리스트 내의 어플리케이션 데이터 파일의 삭제 여부를 확인하는 정보를 출력할 수 있다. 예를 들면, 프로세서(220)는 아이들 상태가 해제될 때 어플리케이션 데이터 파일의 삭제 여부를 확인하는 메시지를 디스플레이(260)를 통해 표시하거나 어플리케이션 데이터 파일의 삭제 여부를 확인하는 사운드를 스피커(예: 도 1의 음향출력모듈(155))를 통해 출력할 수 있다.
560 동작에서, 일 실시 예에 따른 프로세서(220)는 아이들 상태가 해제된 상태에서 삭제된 어플리케이션에 대응하는 어플리케이션 데이터 파일의 삭제 여부 응답에 기반하여 어플리케이션 데이터 파일을 삭제하거나 유지할 수 있다. 일 실시 예에 따른 프로세서(220)는 어플리케이션 데이터 파일의 사용자 삭제 선택 입력(예: 터치 입력 또는 음성 입력) 또는 사용자 미삭제 선택 입력에 기반하여 삭제 대상 어플리케이션 데이터 파일을 삭제하거나 삭제하지 않고 유지할 수 있다. 일 실시 예에 따른 프로세서(220)는 유지하도록 선택된 어플리케이션 데이터 파일에 대해 데이터베이스에 파일 오우너 정보를 null 값으로 업데이트하거나 유지하도록 선택된 어플리케이션 데이터 파일임을 나타내는 유지 정보(예: is_owner_checked)를 저장하거나 어플리케이션 데이터 파일 내의 메타데이터 영역에 오우너 정보를 null 값으로 업데이트하거나 유지 정보를 삽입할 수 있다. 일 실시 예에 따른 프로세서(220)는 유지 정보에 기반하여 삭제 대상 어플리케이션 데이터 파일로 제공(또는 안내)하지 않을 수 있다.
도 6은 일 실시 예에 따른 전자 장치가 외부 저장 장치 연결 시 외부 전자 장치에 저장된 어플리케이션 데이터 파일을 삭제하는 동작을 나타낸 흐름도이다.
도 6을 참조하면, 일 실시 예에 따른 전자 장치(201)(예: 도 1의 전자 장치(101))의 프로세서(220)(예: 도 1의 프로세서(120))는 610 내지 640 동작들 중 적어도 하나의 동작을 수행할 수 있다.
610 동작에서, 일 실시 예에 따른 프로세서(220)는 전자 장치(201)에 외부 저장 장치(예: 도 1의 외장 메모리(138)) (예: sd card) 장착(또는 삽입 또는 연결)을 식별할 수 있다.
620 동작에서, 일 실시 예에 따른 프로세서(220)는 외부 저장 장치에 저장된 데이터 파일들 각각의 메타 데이터를 이용하여 외부 저장 장치에 저장된 데이터 파일들 중 전자 장치(201)에 존재하지 않은(또는 설치되지 않거나 삭제된) 어플리케이션에 대응된 적어도 하나의 어플리케이션 데이터 파일을 식별할 수 있다.
630 동작에서, 일 실시 예에 따른 프로세서(220)는 삭제된 어플리케이션에 대응하는 적어도 하나의 어플리케이션 데이터 파일의 삭제 여부를 확인하는 정보를 출력할 수 있다. 일 실시 예에 따른 프로세서(220)는 지정된 타입이 아닌 어플리케이션 파일들이 복수 개 존재하는 경우 복수의 어플리케이션 데이터 파일들을 지정된 조건(예: 파일 타입(예: image, video, audio, text, 또는 document)) 또는 우선순위 기반으로 분류하고 분류한 어플리케이션 데이터 파일 리스트와 분류한 어플리케이션 데이터 파일 리스트 내의 어플리케이션 데이터 파일의 삭제 여부를 확인하는 정보를 출력할 수 있다. 예를 들면, 프로세서(220)는 어플리케이션 데이터 파일의 삭제 여부를 확인하는 메시지를 디스플레이(260)를 통해 표시하거나 어플리케이션 데이터 파일의 삭제 여부를 확인하는 사운드를 스피커(예: 도 1의 음향출력모듈(155))를 통해 출력할 수 있다.
640 동작에서, 일 실시 예에 따른 프로세서(220)는 삭제된 어플리케이션에 대응하는 어플리케이션 데이터 파일의 삭제 여부 응답에 기반하여 어플리케이션 데이터 파일을 삭제하거나 유지할 수 있다. 일 실시 예에 따른 프로세서(220)는 어플리케이션 데이터 파일의 사용자 삭제 선택 입력(예: 터치 입력 또는 음성 입력) 또는 사용자 미삭제 선택 입력에 기반하여 삭제 대상 어플리케이션 데이터 파일을 삭제하거나 삭제하지 않고 유지할 수 있다. 일 실시 예에 따른 프로세서(220)는 유지하도록 선택된 어플리케이션 데이터 파일에 대해 데이터베이스에 파일 오우너 정보를 null 값으로 업데이트하거나 유지하도록 선택된 어플리케이션 데이터 파일임을 나타내는 유지 정보(예: is_owner_checked)를 저장하거나 어플리케이션 데이터 파일 내의 메타데이터 영역에 오우너 정보를 null 값으로 업데이트하거나 유지 정보를 삽입할 수 있다. 일 실시 예에 따른 프로세서(220)는 유지 정보에 기반하여 삭제 대상 어플리케이션 데이터 파일로 제공(또는 안내)하지 않을 수 있다.
도 7a는 일 실시 예에 따른 전자 장치에서 어플리케이션 삭제 시 디스플레이에 표시되는 정보를 나타낸 도면이고, 도 7b는 일 실시 예에 따른 어플리케이션 데이터 파일의 삭제 여부를 확인하는 정보를 나타낸 도면이다.
먼저 도 7a를 참조하면, 일 실시 예에 따른 전자 장치(201)(예: 도 1의 전자 장치(101))의 프로세서(220)는 어플리케이션 삭제 시 공유 영역(234)에 저장된 데이터 파일들 중 삭제된 어플리케이션에 대응된 적어도 하나의 어플리케이션 데이터 파일이 있음을 알리는 알림(notification) 정보(710)를 디스플레이(260)에 표시할 수 있다. 일 실시 예에 따르면 프로세서(220)는 “test1” 어플리케이션이 삭제된 경우 “test1”이 생성한 어플리케이션이 공유 영역인 “internal storage”에 있음을 알리는 정보(710)를 표시할 수 있다. 일 실시 예에 따르면 프로세서(220)는 삭제된 어플리케이션에 대응된 어플리케이션 데이터 파일들이 복수 개 존재하는 경우 복수의 어플리케이션 데이터 파일들을 지정된 조건(예: 파일 타입(예: image, video, audio, text, 또는 document)) 또는 우선순위 기반으로 분류하고 분류된 복수의 어플리케이션 데이터 파일들의 정보를 “image:101, Video: 1054, Audio:22, Texts:21, other files:221”와 같이 함께 표시할 수 있다. 예를 들면, “image:101, Video: 1054, Audio:22, Texts:21, other files:221”는 복수의 어플리케이션 데이터 파일들 중 이미지 파일이 101개, 비디오 파일이 1054개, 오디오 파일이 22개, 텍스트 파일이 21개, 다른 파일들이 221개임을 의미할 수 있다. 일 실시 예에 따른 프로세서(220)는 알림 정보(710) 외에 알림에 관한 설정을 위한 알림 설정 메뉴(notification settings) 및/또는 알림 표시를 중단하기 위한 메뉴(clear)를 더 표시할 수 있다.
도 7b를 참조하면, 일 실시 예에 따른 프로세서(220)는 삭제된 어플리케이션에 대응된 적어도 하나의 어플리케이션 데이터 파일이 있음을 알리는 알림(notification) 정보(710) 선택 시 디스플레이(260)에 어플리케이션 데이터 파일의 삭제 여부를 확인하는 정보(720)를 표시할 수 있다. 일 실시 예에 따른 어플리케이션 데이터 파일의 삭제 여부를 확인하는 정보(720)는 분류된 어플리케이션 데이터 파일 그룹들(722, 724, 726, 728, 729)의 리스트와 분류된 어플리케이션 데이터 파일 그룹들 각각을 삭제하도록 선택할 수 있는 삭제 아이콘을 포함할 수 있다. 일 실시 예에 따른 프로세서(220)는 제1 어플리케이션 데이터 파일 그룹(722)에 대응된 삭제 아이콘을 선택하는 사용자의 입력에 기반하여 제1 어플리케이션 파일 그룹(722)에 대응된 어플리케이션 데이터 파일들(예: 101 images) 전체를 삭제할 수 있다. 일 실시 예에 따른 프로세서(220)는 제1 어플리케이션 데이터 파일 그룹(722)을 선택하는 사용자의 입력에 기반하여 제1 어플리케이션 데이터 파일 그룹(722)에 포함된 어플리케이션 데이터 파일들(예: 101 images)을 표시하고(미도시), 어플리케이션 데이터 파일들(예: 101 images) 중 선택된 어플리케이션 데이터 파일(예: 예: 101 images 중 선택된 적어도 하나의 이미지)를 삭제할 수 있다. 일 실시 예에 따른 프로세서(220)는 다른 어플리케이션 파일 그룹들(724, 726, 728, 729) 각각에 대해서도 삭제 아이콘을 선택하는 사용자의 입력에 기반하여 어플리케이션 파일 그룹(724, 726, 728, 또는 729)에 대응된 어플리케이션 데이터 파일들(예: 1054 Videos, 22 Audios, 21 Texts, 또는 221 files) 전체를 삭제할 수 있다. 일 실시 예에 따른 프로세서(220)는 다른 어플리케이션 파일 그룹들(724, 726, 728, 729) 각각에 대해 사용자의 입력에 기반하여 각 어플리케이션 데이터 파일 그룹(예: 724, 726, 728, 또는 729)에 포함된 어플리케이션 데이터 파일들(예: 1054 Videos, 22 Audios, 21 Texts, 또는 221 files)을 표시할 수 있다(미도시). 일 실시 예에 따른 프로세서(220)는 어플리케이션 데이터 파일들(예: 1054 Videos, 22 Audios, 21 Texts, 또는 221 files) 중 선택된 어플리케이션 데이터 파일(예: 1054 Videos 중 선택된 적어도 하나의 비디오 파일, 22 Audios 중 선택된 적어도 하나의 오디오 파일, 21 Texts 중 선택된 적어도 하나의 텍스트 파일, 또는 221 files 중 선택된 적어도 하나의 파일)을 삭제할 수 있다.
도 8a는 일 실시 예에 따른 전자 장치가 아이들 상태에서 삭제된 어플리케이션에 대한 어플리케이션 데이터 파일들을 식별했을 경우 디스플레이에 표시되는 정보를 나타낸 도면이고, 도 8b는 일 실시 예에 따른 삭제된 어플리케이션에 대한 어플리케이션 데이터 파일의 삭제 여부를 확인하는 정보를 나타낸 도면이다.
먼저 도 8a를 참조하면, 일 실시 예에 따른 전자 장치(201)(예: 도 1의 전자 장치(101))의 프로세서(220)는 아이들(idle) 상태에서 스캔한 결과 공유 영역(234)에 저장된 데이터 파일들 중 삭제된 어플리케이션에 대응된 적어도 하나의 어플리케이션 데이터 파일이 있음을 알리는 알림(notification) 정보(810)를 디스플레이(260)에 표시할 수 있다. 일 실시 예에 따르면 프로세서(220)는 삭제된 어플리케이션(deleted app)에 대응된 어플리케이션 데이터 파일들이 복수 개 존재하는 경우 복수의 어플리케이션 데이터 파일들을 지정된 조건(예: 파일 타입(예: image, video, audio, text, 또는 document) 또는 우선순위 기반으로 분류하고 분류된 복수의 어플리케이션 데이터 파일들의 정보를 “image: 1021, Video: 222, Audio: 31, Texts:1532, other files:2231”과 같이 함께 표시할 수 있다. 예를 들면, “image: 1021, Video: 222, Audio: 31, Texts:1532, other files:2231”는 복수의 어플리케이션 데이터 파일들 중 이미지 파일이 1021개, 비디오 파일이 222개, 오디오 파일이 31개, 텍스트 파일이 1532개, 다른 파일들이 2231개임을 의미할 수 있다. 일 실시 예에 따른 프로세서(220)는 알림 정보(810) 외에 알림에 관한 설정을 위한 알림 설정 메뉴(notification settings) 및/또는 알림 표시를 중단하기 위한 메뉴(clear)를 더 표시할 수 있다. 일 실시 예에 따르면 삭제된 어플리케이션은 복수 개일 수 있다.
도 8b를 참조하면, 일 실시 예에 따른 프로세서(220)는 삭제된 어플리케이션에 대응된 적어도 하나의 어플리케이션 데이터 파일이 있음을 알리는 알림(notification) 정보(810) 선택 시 디스플레이(260)에 어플리케이션 데이터 파일의 삭제 여부를 확인하는 정보(820)를 표시할 수 있다. 일 실시 예에 따른 어플리케이션 데이터 파일의 삭제 여부를 확인하는 정보(820)는 분류된 어플리케이션 데이터 파일 그룹들(822, 824, 826, 828, 829)의 리스트와 분류된 어플리케이션 데이터 파일 그룹들 각각을 삭제하도록 선택할 수 있는 삭제 아이콘을 포함할 수 있다. 일 실시 예에 따른 프로세서(220)는 제1 어플리케이션 데이터 파일 그룹(822)에 대응된 삭제 아이콘을 선택하는 사용자의 입력에 기반하여 제1 어플리케이션 파일 그룹(822)에 대응된 어플리케이션 데이터 파일들(예: 1021 images) 전체를 삭제할 수 있다. 일 실시 예에 따른 프로세서(220)는 제1 어플리케이션 데이터 파일 그룹(822)을 선택하는 사용자의 입력에 기반하여 제1 어플리케이션 데이터 파일 그룹(822)에 포함된 어플리케이션 데이터 파일들(예: 1021 images)을 표시하고(미도시), 어플리케이션 데이터 파일들(예: 1021 images) 중 선택된 어플리케이션 데이터 파일(예: 예: 1021 images 중 선택된 적어도 하나의 이미지)를 삭제할 수 있다. 일 실시 예에 따른 프로세서(220)는 다른 어플리케이션 파일 그룹들(824, 826, 828, 829) 각각에 대해서도 삭제 아이콘을 선택하는 사용자의 입력에 기반하여 어플리케이션 파일 그룹(824, 826, 828, 또는 829)에 대응된 어플리케이션 데이터 파일들(예: 1222 Videos, 31 Audios, 1532 Texts, 또는 2231 files) 전체를 삭제할 수 있다. 일 실시 예에 따른 프로세서(220)는 다른 어플리케이션 파일 그룹들(824, 826, 828, 829) 각각에 대해서도 사용자의 입력에 기반하여 각 어플리케이션 데이터 파일 그룹(예: 824, 826, 828, 또는 829)에 포함된 어플리케이션 데이터 파일들(예: 222 Videos, 31 Audios, 1532 Texts, 또는 2231 files)을 표시할 수 있다(미도시). 일 실시 예에 따른 프로세서(220)는 어플리케이션 데이터 파일들((예: 222 Videos, 31 Audios, 1532 Texts, 또는 2231 files) 중 선택된 어플리케이션 데이터 파일(예: 222 Videos 중 선택된 적어도 하나의 비디오 파일, 31 Audios 중 선택된 적어도 하나의 오디오 파일, 1532 Texts 중 선택된 적어도 하나의 텍스트 파일, 또는 2231 files 중 선택된 적어도 하나의 파일)을 삭제할 수 있다.
도 9는 일 실시 예에 따른 전자 장치가 외부 장치로부터 획득된 데이터 파일 중 삭제된 어플리케이션에 대한 어플리케이션 데이터 파일이 있는 경우 삭제 여부를 확인하는 정보를 나타낸 도면이다.
도 9를 참조하면, 일 실시 예에 따른 전자 장치(201)(예: 도 1의 전자 장치(101))의 프로세서(220)는 디스플레이(260)에 외부 장치(예: 외부 서버 또는 cloud)로부터 획득된 데이터 파일 중 삭제된 어플리케이션에 대한 어플리케이션 데이터 파일이 있는 경우 어플리케이션 데이터 파일의 삭제 여부를 확인하는 정보(920)를 표시할 수 있다. 일 실시 예에 따른 어플리케이션 데이터 파일의 삭제 여부를 확인하는 정보(920)는 분류된 어플리케이션 데이터 파일 그룹들(922, 924, 926, 928, 929)의 리스트와 분류된 어플리케이션 데이터 파일 그룹들 각각을 삭제하도록 선택할 수 있는 삭제 아이콘을 포함할 수 있다. 일 실시 예에 따른 프로세서(220)는 제1 어플리케이션 데이터 파일 그룹(922)에 대응된 삭제 아이콘을 선택하는 사용자의 입력에 기반하여 제1 어플리케이션 파일 그룹(922)에 대응된 어플리케이션 데이터 파일들(예: 1021 images) 전체를 삭제할 수 있다. 일 실시 예에 따른 프로세서(220)는 제1 어플리케이션 데이터 파일 그룹(922)을 선택하는 사용자의 입력에 기반하여 제1 어플리케이션 데이터 파일 그룹(922)에 포함된 어플리케이션 데이터 파일들(예: 1021 images)을 표시하고(미도시), 어플리케이션 데이터 파일들(예: 1021 images) 중 선택된 어플리케이션 데이터 파일(예: 예: 1021 images 중 선택된 적어도 하나의 이미지)를 삭제할 수 있다.
도 10은 일 실시 예에 따른 전자 장치에 sd 카드(또는 메모리 카드 또는 외장 메모리) 연결 시 sd 카드의 데이터 파일 중 삭제된 어플리케이션에 대한 어플리케이션 데이터 파일이 있는 경우 삭제 여부를 확인하는 정보를 나타낸 도면이다.
도 10을 참조하면, 일 실시 예에 따른 전자 장치(201)(예: 도 1의 전자 장치(101))의 프로세서(220)는 디스플레이(260)에 sd 카드로부터 획득된 데이터 파일 중 삭제된 어플리케이션에 대한 어플리케이션 데이터 파일이 있는 경우 어플리케이션 데이터 파일의 삭제 여부를 확인하는 정보(1020)를 표시할 수 있다. 일 실시 예에 따른 어플리케이션 데이터 파일의 삭제 여부를 확인하는 정보(1020)는 분류된 어플리케이션 데이터 파일 그룹들(1022, 1024, 1026, 1028)의 리스트와 분류된 어플리케이션 데이터 파일 그룹들 각각을 삭제하도록 선택할 수 있는 삭제 아이콘을 포함할 수 있다. 일 실시 예에 따른 프로세서(220)는 제1 어플리케이션 데이터 파일 그룹(1022)에 대응된 삭제 아이콘을 선택하는 사용자의 입력에 기반하여 제1 어플리케이션 파일 그룹(1022)에 대응된 어플리케이션 데이터 파일들(예: 1021 images) 전체를 삭제할 수 있다. 일 실시 예에 따른 프로세서(220)는 제1 어플리케이션 데이터 파일 그룹(1022)을 선택하는 사용자의 입력에 기반하여 제1 어플리케이션 데이터 파일 그룹(1022)에 포함된 어플리케이션 데이터 파일들(예: 1021 images)을 표시하고(미도시), 어플리케이션 데이터 파일들(예: 1021 images) 중 선택된 어플리케이션 데이터 파일(예: 예: 1021 images 중 선택된 적어도 하나의 이미지)를 삭제할 수 있다. 일 실시 예에 따른 프로세서(220)는 다른 어플리케이션 파일 그룹들(1024, 1026, 1028, 1029) 각각에 대해서도 삭제 아이콘을 선택하는 사용자의 입력에 기반하여 어플리케이션 파일 그룹(1024, 1026, 1028, 또는 1029)에 대응된 어플리케이션 데이터 파일들(예: 222 Videos, 31 Audios, 1532 Texts, 또는 2231 files) 전체를 삭제할 수 있다. 일 실시 예에 따른 프로세서(220)는 다른 어플리케이션 파일 그룹들(1024, 1026, 1028, 1029) 각각에 대해서도 사용자의 입력에 기반하여 각 어플리케이션 데이터 파일 그룹(예: 1024, 1026, 1028, 또는 1029)에 포함된 어플리케이션 데이터 파일들(예: 222 Videos, 31 Audios, 1532 Texts, 또는 2231 files)을 표시할 수 있다(미도시). 일 실시 예에 따른 프로세서(220)는 어플리케이션 데이터 파일들((예: 222 Videos, 31 Audios, 1532 Texts, 또는 2231 files) 중 선택된 어플리케이션 데이터 파일(예: 222 Videos 중 선택된 적어도 하나의 비디오 파일, 31 Audios 중 선택된 적어도 하나의 오디오 파일, 1532 Texts 중 선택된 적어도 하나의 텍스트 파일, 또는 2231 files 중 선택된 적어도 하나의 파일)을 삭제할 수 있다.
본 문서에 개시된 다양한 실시 예에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치(예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치를 포함할 수 있다. 본 개시의 실시 예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.
본 개시의 다양한 실시 예 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시 예들로 한정하려는 것이 아니며, 해당 실시 예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나","A 또는 B 중 적어도 하나,""A, B 또는 C," "A, B 및 C 중 적어도 하나,"및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에, "기능적으로" 또는 "통신적으로"라는 용어와 함께 또는 이런 용어 없이, "커플드" 또는 "커넥티드"라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제 3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.
본 문서에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로 등의 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일 실시 예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다.
본 개시의 다양한 실시 예는 기기(machine)(예: 전자 장치(101))에 의해 읽을 수 있는 저장 매체(storage medium)(예: 내장 메모리(136) 또는 외장 메모리(138))에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램(140))로서 구현될 수 있다. 예를 들면, 기기(예: 전자 장치(101))의 프로세서(예: 프로세서(120))는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체 는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
일 실시 예에 따르면, 본 문서에 개시된 다양한 실시 예에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두 개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시 예에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있다. 다양한 실시 예에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시 예에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.
일 실시 예에 따르면, 명령들을 저장하고 있는 비휘발성 저장 매체에 있어서, 상기 명령들은 전자 장치에 의하여 실행될 때에 상기 전자 장치로 하여금 적어도 하나의 동작을 수행하도록 설정된 것으로서, 상기 적어도 하나의 동작은, 상기 전자 장치의 메모리의 공유 영역에 저장된 데이터 파일들 중 삭제된 어플리케이션에 대응된 적어도 하나의 어플리케이션 데이터 파일을 식별하는 동작, 상기 적어도 하나의 어플리케이션 데이터 파일 중 지정된 타입의 어플리케이션 데이터 파일이 존재하는 경우 상기 지정된 타입의 어플리케이션 데이터 파일을 삭제하는 동작, 상기 적어도 하나의 어플리케이션 데이터 파일 중 상기 지정된 타입이 아닌 어플리케이션 데이터 파일이 존재하는 경우 상기 지정된 타입이 아닌 어플리케이션 데이터 파일의 삭제 여부를 확인하는 정보를 상기 전자 장치의 디스플레이에 표시하는 동작, 및 상기 정보에 대한 응답에 기반하여 상기 지정된 타입이 아닌 어플리케이션 데이터 파일을 삭제하거나 유지하는 동작을 포함할 수 있다.
그리고 본 명세서와 도면에 발명된 본 개시의 실시 예들은 본 개시의 실시 예에 따른 기술 내용을 쉽게 설명하고 본 개시의 실시 예의 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 개시의 실시 예의 범위를 한정하고자 하는 것은 아니다. 따라서 본 개시의 다양한 실시 예의 범위는 여기에 발명된 실시 예들 이외에도 본 개시의 다양한 실시 예의 기술적 사상을 바탕으로 도출되는 모든 변경 또는 변형된 형태가 본 개시의 다양한 실시 예의 범위에 포함되는 것으로 해석되어야 한다.
Claims (15)
- 전자 장치(도 1의 101 또는 도 2a의 201)에 있어서,디스플레이(도 1의 160 또는 도 2a의 260);인스트럭션들을 저장하는 메모리(도 1의 130 또는 도 2a의 230); 및상기 디스플레이 및 상기 메모리와 작동적으로 연결된 프로세서(도 1의 120 또는 도 2a의 220)를 포함하고,상기 인스트럭션들은, 상기 프로세서에 의해 실행 시, 상기 전자 장치가,상기 메모리의 공유 영역에 저장된 데이터 파일들 중 삭제된 어플리케이션에 대응된 적어도 하나의 어플리케이션 데이터 파일을 식별하고,상기 적어도 하나의 어플리케이션 데이터 파일 중 지정된 타입의 어플리케이션 데이터 파일이 존재하는 경우 상기 지정된 타입의 어플리케이션 데이터 파일을 삭제하고,상기 적어도 하나의 어플리케이션 데이터 파일 중 상기 지정된 타입이 아닌 어플리케이션 데이터 파일이 존재하는 경우 상기 지정된 타입이 아닌 어플리케이션 데이터 파일의 삭제 여부를 확인하는 정보를 상기 디스플레이에 표시하고,상기 정보에 대한 응답에 기반하여 상기 지정된 타입이 아닌 어플리케이션 데이터 파일을 삭제하거나 유지하도록 하는 전자 장치.
- 제1항에 있어서,상기 공유 영역은 상기 전자 장치의 어플리케이션과 상기 어플리케이션이 아닌 상기 전자 장치의 다른 프로그램에 의해 엑세스 가능한 영역이고,상기 지정된 타입은 숨김 타입 또는 저장 경로의 길이가 지정된 길이보다 긴 타입을 포함하는 전자 장치.
- 제1항 또는 제2항에 있어서,상기 인스트럭션들은, 상기 프로세서에 의해 실행 시, 상기 전자 장치가,지정된 조건 만족 시 상기 전자 장치에 존재하는 적어도 하나의 어플리케이션을 식별하고, 상기 전자 장치에 저장된 어플리케이션 삭제 이력을 읽어오고,상기 전자 장치에 존재하는 적어도 하나의 어플리케이션과 상기 어플리케이션 삭제 이력을 이용하여 상기 전자 장치에 존재하지 않으면서 삭제된 어플리케이션에 대응된 파일 오우너 정보를 식별하고,상기 파일 오우너 정보를 이용하여 상기 공유 영역에 저장된 상기 데이터 파일들 중 상기 삭제된 어플리케이션에 대응된 상기 적어도 하나의 어플리케이션 데이터 파일을 식별하도록 하는 전자 장치.
- 제1항 내지 제3항 중 어느 한 항에 있어서,상기 파일 오우너 정보는 오우너 패키지 이름 또는 어플리케이션 식별 정보를 포함하는 전자 장치.
- 제1항 내지 제4항 중 어느 한 항에 있어서,상기 인스트럭션들은, 상기 프로세서에 의해 실행 시, 상기 전자 장치가,어플리케이션의 삭제에 기반하여 상기 삭제된 어플리케이션에 대응된 어플리케이션 식별 정보를 획득하고, 상기 파일 오우너 정보와 상기 어플리케이션 식별 정보가 동일한 것에 기반하여 상기 삭제된 어플리케이션에 대응된 상기 적어도 하나의 어플리케이션 데이터 파일을 식별하도록 더 설정된 전자 장치.
- 제1항 내지 제5항 중 어느 한 항에 있어서,상기 인스트럭션들은, 상기 프로세서에 의해 실행 시, 상기 전자 장치가,아이들 상태에서 상기 삭제된 어플리케이션에 대응된 어플리케이션 식별 정보를 획득하고, 상기 파일 오우너 정보와 상기 어플리케이션 식별 정보가 동일한 것에 기반하여 상기 삭제된 어플리케이션에 대응된 상기 적어도 하나의 어플리케이션 데이터 파일을 식별하도록 하는 전자 장치.
- 제1항 내지 제6항 중 어느 한 항에 있어서,상기 인스트럭션들은, 상기 프로세서에 의해 실행 시, 상기 전자 장치가,상기 전자 장치에 외부 저장 장치의 연결에 기반하여 상기 삭제된 어플리케이션에 대응된 어플리케이션 식별 정보를 획득하고, 상기 외부 저장 장치에 저장된 데이터 파일들 각각의 메타 데이터를 이용하여 상기 데이터 파일들 각각의 파일 오우너 정보를 획득하고, 상기 파일 오우너 정보와 상기 어플리케이션 식별 정보가 동일한 것에 기반하여 상기 삭제된 어플리케이션에 대응된 상기 적어도 하나의 어플리케이션 데이터 파일을 식별하도록 하는 전자 장치.
- 제1항 내지 제7항 중 어느 한 항에 있어서,통신 회로를 더 포함하고,상기 인스트럭션들은, 상기 프로세서에 의해 실행 시, 상기 전자 장치가,상기 통신 회로를 통해 외부 서버로부터 상기 적어도 하나의 어플리케이션 데이터 파일을 수신하고 수신된 상기 적어도 하나의 어플리케이션 데이터 파일을 상기 공유 영역에 저장하도록 하는 전자 장치.
- 제1항 내지 제8항 중 어느 한 항에 있어서,상기 인스트럭션들은, 상기 프로세서에 의해 실행 시, 상기 전자 장치가,상기 지정된 타입이 아닌 어플리케이션 데이터 파일이 복수 개 존재하는 경우 복수의 어플리케이션 데이터 파일들을 지정된 조건 기반으로 분류하고, 분류된 어플리케이션 데이터 파일 그룹들을 나타내는 리스트를 상기 디스플레이에 표시하도록 하는 전자 장치.
- 제1항 내지 제9항 중 어느 한 항에 있어서,상기 인스트럭션들은, 상기 프로세서에 의해 실행 시, 상기 전자 장치가,상기 분류된 어플리케이션 데이터 파일 그룹들 중 적어도 일부의 삭제를 선택하기 위한 아이콘을 상기 디스플레이에 표시하도록 하는 전자 장치.
- 전자 장치(도 1의 101 또는 도 2a의 201)에서 어플리케이션 데이터 파일 삭제 방법에 있어서,상기 전자 장치의 메모리의 공유 영역에 저장된 데이터 파일들 중 삭제된 어플리케이션에 대응된 적어도 하나의 어플리케이션 데이터 파일을 식별하는 동작;상기 적어도 하나의 어플리케이션 데이터 파일 중 지정된 타입의 어플리케이션 데이터 파일이 존재하는 경우 상기 지정된 타입의 어플리케이션 데이터 파일을 삭제하는 동작;상기 적어도 하나의 어플리케이션 데이터 파일 중 상기 지정된 타입이 아닌 어플리케이션 데이터 파일이 존재하는 경우 상기 지정된 타입이 아닌 어플리케이션 데이터 파일의 삭제 여부를 확인하는 정보를 상기 전자 장치의 디스플레이에 표시하는 동작; 및상기 정보에 대한 응답에 기반하여 상기 지정된 타입이 아닌 어플리케이션 데이터 파일을 삭제하거나 유지하는 동작을 포함하는 방법.
- 제11항에 있어서,상기 공유 영역은 상기 전자 장치의 어플리케이션과 상기 어플리케이션이 아닌 상기 전자 장치의 다른 프로그램에 의해 엑세스 가능한 영역이고,상기 지정된 타입은 숨김 타입 또는 저장 경로의 길이가 지정된 길이보다 긴 타입을 포함하는 방법.
- 제11항 또는 제12항에 있어서,지정된 조건 만족 시 상기 전자 장치에 존재하는 적어도 하나의 어플리케이션을 식별하고, 상기 전자 장치에 저장된 어플리케이션 삭제 이력을 읽어오는 동작;상기 전자 장치에 존재하는 적어도 하나의 어플리케이션과 상기 어플리케이션 삭제 이력을 이용하여 상기 전자 장치에 존재하지 않으면서 삭제된 어플리케이션에 대응된 파일 오우너 정보를 식별하는 동작; 및상기 파일 오우너 정보를 이용하여 상기 공유 영역에 저장된 상기 데이터 파일들 중 상기 삭제된 어플리케이션에 대응된 상기 적어도 하나의 어플리케이션 데이터 파일을 식별하는 동작을 포함하는 방법.
- 제11항 내지 제13항 중 어느 한 항에 있어서,상기 파일 오우너 정보는 오우너 패키지 이름 또는 어플리케이션 식별 정보를 포함하는 방법.
- 명령들을 저장하고 있는 비휘발성 저장 매체에 있어서,상기 명령들은 전자 장치(도 1의 101 또는 도 2의 201)에 의하여 실행될 때에 상기 전자 장치로 하여금 적어도 하나의 동작을 수행하도록 설정된 것으로서, 상기 적어도 하나의 동작은,상기 전자 장치의 메모리의 공유 영역에 저장된 데이터 파일들 중 삭제된 어플리케이션에 대응된 적어도 하나의 어플리케이션 데이터 파일을 식별하는 동작;상기 적어도 하나의 어플리케이션 데이터 파일 중 지정된 타입의 어플리케이션 데이터 파일이 존재하는 경우 상기 지정된 타입의 어플리케이션 데이터 파일을 삭제하는 동작;상기 적어도 하나의 어플리케이션 데이터 파일 중 상기 지정된 타입이 아닌 어플리케이션 데이터 파일이 존재하는 경우 상기 지정된 타입이 아닌 어플리케이션 데이터 파일의 삭제 여부를 확인하는 정보를 상기 전자 장치의 디스플레이에 표시하는 동작; 및상기 정보에 대한 응답에 기반하여 상기 지정된 타입이 아닌 어플리케이션 데이터 파일을 삭제하거나 유지하는 동작을 포함하는 저장 매체.
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR20230050087 | 2023-04-17 | ||
| KR10-2023-0050087 | 2023-04-17 | ||
| KR1020230062400A KR20240153871A (ko) | 2023-04-17 | 2023-05-15 | 전자 장치 및 전자 장치에서 어플리케이션 데이터 파일 삭제 방법 |
| KR10-2023-0062400 | 2023-05-15 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| WO2024219801A2 true WO2024219801A2 (ko) | 2024-10-24 |
| WO2024219801A3 WO2024219801A3 (ko) | 2025-06-26 |
Family
ID=93152817
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/KR2024/005116 Ceased WO2024219801A2 (ko) | 2023-04-17 | 2024-04-17 | 전자 장치 및 전자 장치에서 어플리케이션 데이터 파일 삭제 방법 |
Country Status (1)
| Country | Link |
|---|---|
| WO (1) | WO2024219801A2 (ko) |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN103246595B (zh) * | 2013-04-08 | 2016-06-08 | 小米科技有限责任公司 | 应用程序管理方法、装置、服务器及终端设备 |
| US9652215B2 (en) * | 2014-12-30 | 2017-05-16 | Microsoft Technology Licensing, Llc | Application installation/uninstallation across multiple systems |
| KR20190098516A (ko) * | 2018-02-14 | 2019-08-22 | 삼성전자주식회사 | 어플리케이션과 관련된 데이터를 관리하기 위한 방법 및 그 전자 장치 |
| KR102738300B1 (ko) * | 2019-01-28 | 2024-12-06 | 삼성전자주식회사 | 전자 장치 및 전자 장치의 제어 방법 |
| JP2021165961A (ja) * | 2020-04-07 | 2021-10-14 | キヤノン株式会社 | 端末装置、情報処理方法、及びプログラム |
-
2024
- 2024-04-17 WO PCT/KR2024/005116 patent/WO2024219801A2/ko not_active Ceased
Also Published As
| Publication number | Publication date |
|---|---|
| WO2024219801A3 (ko) | 2025-06-26 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2019156411A1 (en) | Electronic device for connecting with external devices based on connection information and operating method thereof | |
| WO2022103019A1 (ko) | 전자 장치 및 전자 장치의 어플리케이션 실행 방법 | |
| WO2021150037A1 (en) | Method for providing user interface and electronic device therefor | |
| WO2019164204A1 (ko) | 전자 장치 및 그의 동작 방법 | |
| WO2024219801A2 (ko) | 전자 장치 및 전자 장치에서 어플리케이션 데이터 파일 삭제 방법 | |
| WO2023058860A1 (ko) | 멀티 서명된 apk 파일을 처리하는 전자 장치 및 그 동작 방법 | |
| WO2022211285A1 (ko) | 메모리를 관리하기 위한 전자 장치 및 그의 동작 방법 | |
| WO2022075621A1 (ko) | 전자 장치 및 전자 장치의 동작 방법 | |
| WO2025014158A1 (ko) | 전자 장치 및 파일 관리 방법 | |
| WO2022240031A1 (ko) | 전자 장치 및 전자 장치의 파일 관리 방법 | |
| WO2025100783A1 (ko) | 알림 제공 방법 및 그 전자 장치 | |
| WO2024101878A1 (ko) | 손상된 메타데이터를 복구하기 위한 방법 및 이를 지원하는 전자 장치 | |
| WO2025154939A1 (ko) | 데이터 전송을 위한 방법 및 이를 수행하는 전자 장치 | |
| WO2025048115A1 (ko) | 어플리케이션을 실행, 저장 및 표시하는 전자 장치 및 방법 | |
| WO2025110490A1 (ko) | 전자 장치 및 이를 이용한 어플리케이션 실행 방법 | |
| WO2026029486A1 (ko) | 전자 장치 및 전자 장치에서 bios를 이용한 csme 복원 방법 | |
| WO2022191455A1 (ko) | 파일 리댁션을 수행하는 전자 장치 및 이의 동작 방법 | |
| WO2024237712A1 (ko) | Qr 코드를 이용하여 컨텐트를 공유하는 전자 장치와 이의 동작 방법 | |
| WO2024172391A1 (ko) | 파일과 관련된 정보를 관리하는 방법 및 이를 지원하는 전자 장치 | |
| WO2025143752A1 (ko) | 전자 장치 및 이를 이용한 보안 리소스 제한 방법 | |
| WO2025009886A1 (ko) | 블록체인 네트워크에 포함된 전자 장치와 이의 동작 방법 | |
| WO2025258849A1 (ko) | 배터리로부터 방전되는 전류에 기반하여 프로세서의 성능을 제어하는 전자 장치와 이에 의해 수행되는 방법 | |
| WO2025080028A1 (ko) | 디스플레이의 밝기를 제어하기 위한 전자 장치 및 방법 | |
| WO2026043063A1 (ko) | 펌웨어 업데이트를 수행하기 위한 전자 장치, 방법, 및 비일시적 컴퓨터 판독 가능 저장 매체 | |
| WO2024232610A1 (ko) | 디스플레이의 밝기를 제어하기 위한 전자 장치 및 방법 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 24792986 Country of ref document: EP Kind code of ref document: A2 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 24792986 Country of ref document: EP Kind code of ref document: A2 |